是否调用了两次WP_enQueue_脚本?

时间:2012-06-30 作者:Bakaburg

我在WP识别加载函数中调用的脚本的is\\U单一条件时遇到一些问题。php。

我放了一个error\\u log(is\\u single())来检查发生了什么。

打开贴子页面时,日志显示已经调用了log函数,并且is\\u sigle()标记第一次为正,第二次为负!

在主页或其他页面中,它只显示一次。

发生什么事了?

下面是函数中的代码。php。我正在使用儿童主题。

add_action(\'wp_enqueue_scripts\', function(){
    error_log(is_single());
    if (is_single()){
        wp_enqueue_script(\'jquery_transform\', get_stylesheet_directory_uri()."/js/jquery.transform.js", array(\'jquery\'),\'0.9.3\',true);
        wp_enqueue_script(\'zs_image_rotate\', get_stylesheet_directory_uri()."/js/image_rotate.js", array(\'jquery_transform\'),\'\',true);
    }
    wp_deregister_script(\'thickbox\');
});

2 个回复
SO网友:TheRealMikeD

我也有同样的问题。我记录了请求URI,发现额外的调用是针对一个不存在的文件的(这就是我从一个项目复制和粘贴一组代码到另一个项目所得到的)。我在预期的名称和位置创建了一个文件,对wp\\u enqueue\\u scripts挂钩函数的额外调用消失了。

因此,似乎可以得出这样的结论:404会导致一个新的完整请求,该请求会通过整个设置函数链。

SO网友:mrwweb

我怀疑您的功能根本没有运行,至少没有按照您的意愿运行。

根据法典:

$function\\u to\\u add(callback)(必需)添加name 您希望调用的函数的。注:Only string-formatted syntaxes PHP文档中列出的“回调”类型有效[重点添加]

在代码段中,将函数直接放置在add操作调用中。我真的无法解释单身到底是怎么回事,但令我惊讶的是,代码并没有完全崩溃。尝试以下操作:

add_action( \'wp_enqueue_scripts\', \'wpse57003_is_single_scripts\' );
function wpse57003_is_single_scripts(){
    if (is_single()){
        wp_enqueue_script(\'jquery_transform\', get_stylesheet_directory_uri()."/js/jquery.transform.js", array(\'jquery\'),\'0.9.3\',true);
        wp_enqueue_script(\'zs_image_rotate\', get_stylesheet_directory_uri()."/js/image_rotate.js", array(\'jquery_transform\'),\'\',true);
    }
    wp_deregister_script(\'thickbox\');
});

结束

相关推荐

Functions.php:从博客中排除类别

所以很明显,如何从模板中排除某些类别,但我不想修改4个模板,使它们忽略某个类别。有没有一种方法可以将某个类别从阅读设置的“博客”集中排除?我正在将博客分配到名为“博客”的页面。。。但显然,档案和搜索也需要对这一超出类别的内容视而不见。我宁愿在里面做functions.php