标签: wordpress-plugin

是否可以在WordPress中打印页面请求的所有数据库查询的日志?

我正在制作一个在WordPress数据库上进行自定义查询的插件,然后我循环查看每个帖子标题的结果,作为实际帖子的链接.

我正在使用get_permalink($id)获取每个帖子的URI,但由于我在循环之外这样做,我的怀疑是这些请求中的每一个都在进行单独的数据库查询.

我已经检查了功能代码并尝试跟踪实际的WordPress核心文件中发生的事情,但我真正感兴趣的是这样做的一般方法,所以我可以确保我总是写得最多在我的所有插件中优化代码.

有人知道实现这个目标的最佳方法吗?

mysql wordpress wordpress-plugin

6
推荐指数
2
解决办法
7753
查看次数

如何在Wordpress中向自定义帖子类型添加按钮?

我有一个"产品"自定义帖子类型.通常,此自定义帖子类型具有"添加新"按钮.我想添加另一个按钮调用"从提供商更新".

目前,我已修改Wordpress代码(在"wordpress\wp-admin\includes\class-wp-list-table.php"中)以添加该按钮.在这种情况下,当我更新Wordpress时,我的修改后的代码将被删除.因此,我需要将该按钮移动到我的插件代码中.

在这种情况下,请帮助我如何将该按钮移动到我的插件代码.

在此输入图像描述

wordpress wordpress-plugin

6
推荐指数
1
解决办法
6996
查看次数

在WordPress 3.5之后,我们是否还应该使用media_upload_tabs过滤器在媒体管理器中添加标签?

从WordPress 3.5开始,旧的媒体管理器filter(media_upload_tabs)仍在工作,但是UI已经远离之前使用的ThickBox.

我无法找到任何暗示添加标签的新方法的信息,我想知道WordPress是否会坚持添加标签的旧方式,或者将来切换到新的方式.

有没有人了解向媒体管理器添加标签的最佳方法?

wordpress wordpress-plugin wordpress-3.5

6
推荐指数
1
解决办法
779
查看次数

重力形式 - 获取当前页码

我有一个多页表格.

我想在此表单的最后一页上执行一些自定义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_rendergform_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)

javascript php wordpress wordpress-plugin

6
推荐指数
2
解决办法
4612
查看次数

WordPress jQuery Uncaught TypeError:对象[object Object]的属性'$'不是函数

我正在将我的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 jquery wordpress-theming wordpress-plugin zclip

6
推荐指数
1
解决办法
8674
查看次数

在wp_insert_post_data的过滤器中获取自定义字段值

大家好,感谢您的阅读.


环境:

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和插件文档中的所有可用功能.如果路过的人给我解决方案,我将非常感激.

提前致谢 !

php wordpress hook wordpress-plugin advanced-custom-fields

6
推荐指数
2
解决办法
5726
查看次数

将结果添加到WordPress搜索结果中

我想在WordPress搜索结果中添加/注入/追加额外的结果.

目前,WordPress只允许您"调整"在其自己的数据库上执行的查询,但不允许您修改(或在WordPress术语中,过滤)结果数组.

即:如果在WordPress中我搜索"马铃薯"一词,所有与此术语相关的帖子都会回来.我想将通过不同服务获得的结果包含在WordPress结果集中.

只是为了澄清,我从第三方API调用中得到了我的结果.不是来自WordPress数据库.

有没有人知道如何做到这一点?

编辑:最好这需要在我的WordPress插件中进行,而无需更改搜索模板.

php wordpress search wordpress-plugin

6
推荐指数
2
解决办法
5140
查看次数

根据类别,每个产品向WooCommerce添加费用

我已经尝试了一段时间才能使这个工作,但我没有找到任何解决方案完全符合我们的需要,而且我远非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)

php wordpress wordpress-plugin woocommerce

6
推荐指数
1
解决办法
8915
查看次数

WordPress自定义帖子类型存档与描述

我有一个共同的设计模式我不完全确定如何在WordPress中最好地执行.布局是概述页面上的后期预告(标题,修剪的正文,图像)的列表.假设example.com是一个划船安全公司,在example.com/classes中有使用archive.php或archive- $ posttype.php列出的类类型的帖子.

到目前为止,这是简单的默认WordPress行为.但是,我希望在此概述页面上提供有关此类信息的一些介绍信息.此外,假设我假设有10个自定义帖子类型,并且每个人都会遵循此模式,并在归档页面上显示列表和一般介绍段落.

希望做的是对每种类型的页面,在页面模板为他们每个人做了一个自定义查询.如果有一种方法可以将描述,甚至更好的自定义字段与帖子类型本身相关联(不是在该类型的帖子上,而是类型本身),这将是理想的场景.理想情况下,我希望将这一切都包含在archive.php模板中.

有人知道一个很好的方法来解决这个问题吗?

这可能有用也可能没有帮助,但我将在代码中创建帖子类型,但为自定义字段本身使用高级自定义字段.

wordpress wordpress-plugin

6
推荐指数
1
解决办法
4369
查看次数

在动态创建的字段上使用JQuery Datepicker

我必须在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)

jquery jquery-ui wordpress-plugin jquery-ui-datepicker

6
推荐指数
1
解决办法
1万
查看次数