我正在制作一个在WordPress数据库上进行自定义查询的插件,然后我循环查看每个帖子标题的结果,作为实际帖子的链接.
我正在使用get_permalink($id)获取每个帖子的URI,但由于我在循环之外这样做,我的怀疑是这些请求中的每一个都在进行单独的数据库查询.
我已经检查了功能代码并尝试跟踪实际的WordPress核心文件中发生的事情,但我真正感兴趣的是这样做的一般方法,所以我可以确保我总是写得最多在我的所有插件中优化代码.
有人知道实现这个目标的最佳方法吗?
我有一个"产品"自定义帖子类型.通常,此自定义帖子类型具有"添加新"按钮.我想添加另一个按钮调用"从提供商更新".
目前,我已修改Wordpress代码(在"wordpress\wp-admin\includes\class-wp-list-table.php"中)以添加该按钮.在这种情况下,当我更新Wordpress时,我的修改后的代码将被删除.因此,我需要将该按钮移动到我的插件代码中.
在这种情况下,请帮助我如何将该按钮移动到我的插件代码.

从WordPress 3.5开始,旧的媒体管理器filter(media_upload_tabs)仍在工作,但是UI已经远离之前使用的ThickBox.
我无法找到任何暗示添加标签的新方法的信息,我想知道WordPress是否会坚持添加标签的旧方式,或者将来切换到新的方式.
有没有人了解向媒体管理器添加标签的最佳方法?
我有一个多页表格.
我想在此表单的最后一页上执行一些自定义JavaScript.从理论上讲,我所要做的就是检索当前页码并编写条件.
简单吧?显然不是.
我原来的解决方法是这样的:
if ($('gform_page').last().css('display') !== 'none') {
// perform custom scripts now that the last
// Gravity Form page is being shown
}
Run Code Online (Sandbox Code Playgroud)
但$('...').css('display')回报率undefined在每一个元素我试过这个表单内.每次用户点击"下一步"按钮时,都会触发自定义脚本.没有雪茄.
然后,在查看Gravity Forms文档后,我发现了两个看似有用的事件:gform_post_render和gform_page_loaded.
但是,文档未提供有关如何访问参数的说明.
jQuery(document).bind('gform_page_loaded', function(event, form_id, current_page){
console.log(current_page);
// returns nothing when loaded in the footer
// returns [Object, object] when placed in an HTML field in the form
});
Run Code Online (Sandbox Code Playgroud)
除了没有正确的代码之外,我还怀疑我没有正确的代码,因为我还在functions.php和header.php中尝试了以下内容(如文档所示):
<?php
function enqueue_custom_script($form, $is_ajax){
if ($is_ajax) :
echo …Run Code Online (Sandbox Code Playgroud) 我正在将我的html文件转换为WordPress主题,我正在使用插件ZClip将副本文本复制到剪贴板.ZClip插件在我的html演示中工作正常,但是当转换为WordPress时,我得到了这个奇怪的语法错误"uncaught TypeError:对象[object object]的属性'$'不是zclip.js文件中第288行的函数" 是
$(this.domElement).data('zclipId', 'zclip-' + this.movieId);
Run Code Online (Sandbox Code Playgroud)
我认为这是变量$不确定的东西.我读了一些关于jQuery可能在WP中相互冲突的内容,所以我将main.js文件更改为
jQuery(document).ready(function($){
...
$("button").zclip({
path:'js/ZeroClipboard.swf',
copy: function() { return $(this).attr("data-coupon"); }
});
});
Run Code Online (Sandbox Code Playgroud)
的functions.php
<?php
function load_styles_and_scripts(){
//load css
wp_enqueue_style( 'main-styles', get_template_directory_uri().'/style.css' );
// load scripts
wp_enqueue_script( 'jquery', 'http://code.jquery.com/jquery-1.10.1.min.js' );
wp_enqueue_script( 'zclip-script', get_template_directory_uri().'/js/zclip.js' );
wp_enqueue_script( 'main-script', get_template_directory_uri().'/js/main.js' );
}
add_action('wp_enqueue_scripts', 'load_styles_and_scripts');
Run Code Online (Sandbox Code Playgroud)
终于在一整天后想出来了,哈哈.好像WP 3.5.2加载旧版本的jQuery 1.8.3并且我使用的是新版本而且因为这行不加载它
wp_enqueue_script( 'jquery', 'http://code.jquery.com/jquery-1.10.1.min.js' );
Run Code Online (Sandbox Code Playgroud)
也许'jquery'是为WP的本地jquery安装保留的,我将其更改为并且我的网站开始工作,但根据用户在这里不推荐.
wp_enqueue_script( 'jq', 'http://code.jquery.com/jquery-1.10.1.min.js' );
Run Code Online (Sandbox Code Playgroud) 大家好,感谢您的阅读.
环境:
Wordpress +高级自定义字段插件
问题:
我现在已经搜索了几个小时,我似乎无法找到正确的语法来执行以下操作:
发布新帖子时,获取自定义字段值,以便自动用该值替换帖子的标题.示例:我创建了一个帖子并在我的'time'自定义字段中设置'10am'.帖子的标题自动被'上午10点'取代.
例:
所以我添加了一个带有以下内容的过滤器:
add_filter('wp_insert_post_data', 'change_title') ;
function change_title($data)
{
$time = XXX ; // How should I get this custom field value ?
$new_title = 'Topic created at'.$time ;
$data['post_title'] = $time ;
return $data;
}
Run Code Online (Sandbox Code Playgroud)
它必须非常简单,但我已经尝试了WP和插件文档中的所有可用功能.如果路过的人给我解决方案,我将非常感激.
提前致谢 !
我想在WordPress搜索结果中添加/注入/追加额外的结果.
目前,WordPress只允许您"调整"在其自己的数据库上执行的查询,但不允许您修改(或在WordPress术语中,过滤)结果数组.
即:如果在WordPress中我搜索"马铃薯"一词,所有与此术语相关的帖子都会回来.我想将通过不同服务获得的结果包含在WordPress结果集中.
只是为了澄清,我从第三方API调用中得到了我的结果.不是来自WordPress数据库.
有没有人知道如何做到这一点?
编辑:最好这需要在我的WordPress插件中进行,而无需更改搜索模板.
我已经尝试了一段时间才能使这个工作,但我没有找到任何解决方案完全符合我们的需要,而且我远非PHP专家,所以我有点迷失.
我们使用WooCommerce和WooTickets.目标是仅对"门票"类别(ID:34)中的产品增加5%的"服务费"费用.
我们找到了此代码段,根据产品类别添加固定成本:
// Add Service Fee to Category
function woo_add_cart_fee() {
$category_ID = '23';
global $woocommerce;
foreach ($woocommerce->cart->cart_contents as $key => $values ) {
// Get the terms, i.e. category list using the ID of the product
$terms = get_the_terms( $values['product_id'], 'product_cat' );
// Because a product can have multiple categories, we need to iterate through the list of the products category for a match
foreach ($terms as $term) {
// 23 is the ID of the category for …Run Code Online (Sandbox Code Playgroud) 我有一个共同的设计模式我不完全确定如何在WordPress中最好地执行.布局是概述页面上的后期预告(标题,修剪的正文,图像)的列表.假设example.com是一个划船安全公司,在example.com/classes中有使用archive.php或archive- $ posttype.php列出的类类型的帖子.
到目前为止,这是简单的默认WordPress行为.但是,我希望在此概述页面上提供有关此类信息的一些介绍信息.此外,假设我假设有10个自定义帖子类型,并且每个人都会遵循此模式,并在归档页面上显示列表和一般介绍段落.
我不希望做的是对每种类型的页面,在页面模板为他们每个人做了一个自定义查询.如果有一种方法可以将描述,甚至更好的自定义字段与帖子类型本身相关联(不是在该类型的帖子上,而是类型本身),这将是理想的场景.理想情况下,我希望将这一切都包含在archive.php模板中.
有人知道一个很好的方法来解决这个问题吗?
这可能有用也可能没有帮助,但我将在代码中创建帖子类型,但为自定义字段本身使用高级自定义字段.
我必须在wordpress网站中使用datepicker,其中插件使用相同的名称(数组)动态创建字段,相同的#id和相同的.class我尝试使用焦点使用它但我得到了错误
TypeError: inst is undefined
Run Code Online (Sandbox Code Playgroud)
请你好
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="assests/jquery-ui.min.css" rel="stylesheet">
<script src="assests/jquery.js"></script>
<script src="assests/jquery-ui.js"></script>
</head>
<body>
<div class="mytemplate" style="display: none;">
<input id="datepicker" type="text" name="name[]">
</div>
<div class="dates">
<div>
<input id="datepicker" type="text" name="name[]">
</div>
</div>
<input type="button" value="Add more" onclick="myfunction()">
<script>
function myfunction() {
$(".mytemplate").clone().removeClass("mytemplate").show().appendTo(".dates");
}
</script>
<script>
$(document).on("focus", "#datepicker", function(){
$(this).datepicker();
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) wordpress-plugin ×10
wordpress ×9
php ×4
jquery ×2
hook ×1
javascript ×1
jquery-ui ×1
mysql ×1
search ×1
woocommerce ×1
zclip ×1