remove action from AMP plugin

时间:2017-10-05 作者:the1the

我正在尝试删除由AMP插件添加的操作

add_action( \'wp_head\', \'remove_hooks\' );
function remove_hooks(){
  remove_action(\'wp_head\', \'amp_frontend_add_canonical\');
}
插件添加如下操作:

add_action( \'wp_head\', \'amp_frontend_add_canonical\' );

function amp_frontend_add_canonical() {
    if ( false === apply_filters( \'amp_frontend_show_canonical\', true ) ) {
        return;
    }

    $amp_url = amp_get_permalink( get_queried_object_id() );

    printf( \'<link rel="amphtml" href="%s" />\', esc_url( $amp_url ) );
}
但我没有成功——我不确定我是否必须设定优先顺序?

1 个回复
SO网友:the1the

通过将其更改为

add_action( \'wp_enqueue_scripts\', \'remove_hooks\' );

function remove_hooks(){
    global $wp_query;
    $postid = $wp_query->post->ID;
    $format = get_post_format( $postid );

    if ($format == \'gallery\') {
    remove_action(\'wp_head\', \'amp_frontend_add_canonical\',10);
    }
}

结束

相关推荐

当返回值为空时,Apply_Filters为什么要返回非空字符串?

因为这个把我的键盘弄坏了。进行了正确的安装,将数据库上载到新的MySQL,并一直在正确使用子主题。但有件事困扰着我,我想不出来。在我的新安装上(ver2.whowhatwhy.com) 我故意将一些小部件留空。我想,当阅读default-widgets.php wp中的文件包括在该小部件上不会显示标题元素。相反,显示标题小部件是因为,出于某种原因,传递的值apply_filters 是一个空格,而不是空白值$instance[\'title\'] 为空。$title = apply_filters( \'