如果条件标记为True,则仅从函数.php输出函数

时间:2014-06-21 作者:user2312234

我在我的儿童主题中使用了砖石(包括在WP 3.9中)。

我跟着this tutorial.

在其函数代码中。php他们使用条件语句:

if ( ! is_admin() ) :
function slug_scripts_masonry() {
    wp_enqueue_script(\'masonry\');
    wp_enqueue_style(\'masonry’, get_template_directory_uri().\'/css/’);
}
add_action( \'wp_enqueue_scripts\', \'slug_scripts_masonry\' );
endif; //! is_admin()
这个!is\\u admin似乎可以工作,因为当我查找源代码时,找不到任何内容。然而,我的目标是仅当我们是一个分类页面时才让这个函数运行。但是,将其更改为:

if ( is_tax() ) :
    function slug_scripts_masonry() {
        wp_enqueue_script(\'masonry\');
        wp_enqueue_style(\'masonry’, get_template_directory_uri().\'/css/’);
    }
    add_action( \'wp_enqueue_scripts\', \'slug_scripts_masonry\' );
    endif; 
不起作用!它不再包括任何地方了!我做错了什么?

1 个回复
最合适的回答,由SO网友:keesiemeijer 整理而成

将is\\u tax()条件移动到slug\\u scripts\\u砌体函数中。

function slug_scripts_masonry() {
    if ( is_tax() ) {
        wp_enqueue_script( \'masonry\' );
        wp_enqueue_style( \'masonry\', get_template_directory_uri().\'/css/\' );
    }
}

add_action( \'wp_enqueue_scripts\', \'slug_scripts_masonry\' );
由于Wordpress尚未执行确定is\\u tax()结果的代码,因此它将在所有页面上返回false。

结束

相关推荐

用于初始化WordPress的JQuery Masonry的脚本

这两者有什么不同(http://pastebin.com/PX0YB0hy)及(http://pastebin.com/VBqiMHVQ)用于JQuery砌体。为什么第一个有效而第二个无效。在这两种情况下,我都使用wp\\u enqueue\\u脚本添加脚本。谢谢