相同的条件在两个不同的挂钩上不起作用

时间:2011-09-13 作者:abhisek

每个人我是WP的新手,正在尝试构建插件。我有以下代码正常工作:

add_filter(\'the_content\', \'say_hello\');
function say_hello($content){
    if(is_single() || is_page()){
        print $content." Thank you for reading!";
    } else {
        print $content;
    }
}
但以下代码似乎不起作用:

add_action(\'init\', \'prepare_head\');
function prepare_head(){
    if(is_single() || is_page()){
        // include javascripts
        wp_enqueue_script("jquery");
        //some more js goes here (registered and enqueued)... 

        //include css
        $styleSrc = plugins_url("css/style.css", __FILE__);
        wp_register_style("say_hello_style", $styleSrc);
        wp_enqueue_style("say_hello_style");
    }
}
我做错了吗?非常感谢您的帮助!谢谢

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

init 现在还太早conditional tags, 使用template_redirect 相反看看action reference 查看他们执行的命令。

SO网友:tollmanz

这个Conditional Tags WordPress提供的功能只能用于template_redirect 挂钩或更高版本。init 太早了。这个the_content 过滤器稍后出现,可以使用条件标记。由于您不熟悉WordPress插件,请查看Rarst\'s graphical 解释WordPress核心如何加载。这将有助于解决这些类型的问题。

结束

相关推荐

Custom Post Row Actions

我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $