取消某些帖子上的AddThis Wordpress插件

时间:2013-05-21 22:00:39

标签: php wordpress wordpress-plugin addthis

我有一个Wordpress网站,它利用多种自定义帖子类型来实现不同的目标。我还使用AddThis插件将社交分享按钮添加到帖子的顶部。但是,我有一种自定义帖子,我没有添加AddThis共享按钮的插件。有没有办法挂钩AddThis插件让它返回false或给定某种条件的东西?

可能是这样的:

if($post_type === "no-addthis"){
     addthis_plugin_hook(false);
}

我完全意识到这不是一种有效的方法,但有人知道类似的东西吗? 提前谢谢。

2 个答案:

答案 0 :(得分:4)

以下内容将删除当前帖子中运行的所有 AddThis 过滤器:

if( get_post_type( get_the_ID() ) == 'your-post-type' ) {
    remove_filter('the_content', 'addthis_display_social_widget', 15);
    remove_filter('the_content', 'addthis_script_to_content');
    remove_filter('get_the_excerpt', 'addthis_display_social_widget_excerpt', 11);
    remove_filter('get_the_excerpt', 'addthis_late_widget', 14);
    remove_filter('wp_trim_excerpt', 'addthis_remove_tag', 11, 2);
}

我建议您在自定义帖子类型模板中调用the_content()the_excerpt()(或类似函数前缀为get_)之前运行此代码。

注意:我没有测试过这个,我从未使用过AddThis插件。我刚刚看了一下源代码。 :)

答案 1 :(得分:1)

最新版本我在functions.php中执行以下操作

add_action( 'init', 'remove_addthis' );
function remove_addthis(){
  remove_action( 'wp_head', 'addthis_add_content_filters');
}