【问题标题】:Wordpress init remove_action with conditional tags带有条件标签的 Wordpress 初始化 remove_action
【发布时间】:2011-01-13 06:07:16
【问题描述】:

我需要为一个主题这样做:

remove_action( 'wp_head', 'rel_canonical' );

但是我需要使用条件标签来做到这一点。下面的代码不起作用。

if(is_page('comment'))
{
   remove_action( 'wp_head', 'rel_canonical' );
}

我需要使用插件来做到这一点。

我尝试将 if 语句挂接到函数测试中,如下所示:

add_action('init', 'test');
function test()
{
   if(is_page('comment'))
   {
      remove_action( 'wp_head', 'rel_canonical' );
   }
}

因为它在其他任何东西之前运行,所以条件标签不起作用,我猜。

有什么想法吗?

【问题讨论】:

    标签: php wordpress plugins hook


    【解决方案1】:

    我发现我不应该使用 init 作为一个动作,而应该使用这个:

    add_action('template_redirect', 'test');
    

    然后它在 header.php 之前但在设置条件标签之后运行。

    【讨论】:

    • 谢谢詹斯。这正是我想要的。
    【解决方案2】:

    尝试用您自己的包含条件的函数替换 rel_canonical 操作,如下所示:

    remove_action('wp_head', 'rel_canonical');
    function my_rel_canonical() {
        if (!is_page('comment')) rel_canonical();
    }
    add_action('wp_head', 'my_rel_canonical');
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-07
      • 2018-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-09
      • 2017-05-19
      • 2011-02-14
      相关资源
      最近更新 更多