Jetpack Publicize:仅在 Twitter 上分享某个类别
Jetpack Publicize: Sharing only on Twitter for a category
在我当前的项目中,我有三个 post 类别(专栏、精选和新闻)并使用 Jetpack Publicize 在 Facebook 和 Twitter 上分享任何新的 post。
对于 "News" 类别,我只想在 Twitter 上进行宣传(因此以某种方式专门停用该类别的 Facebook 共享)。
我一直在查看 Jetpack 文档并调整了他们的推荐代码:
add_filter( 'wpas_submit_post?', 'news_twitter_submit_post', 10, 4 );
function news_twitter_submit_post( $ret, $post_id, $name, $connection ) {
// $categories = get_the_terms( $post_id, 'category' );
$categories = wp_get_post_categories( $post->slug );
if ( 'facebook' == $name ) {
if ( is_array( $categories ) )
$categories = wp_list_pluck( $categories, 'slug' );
if ( !empty( $categories ) && in_array( 'news', $categories ) ){
$ret = false;
}
}
return $ret; }
除此之外,post 仍在 Facebook 上发布。
我也一直在查看 publicize_should_publicize_published_post 挂钩,但无法让它工作。
我有什么办法可以做到这一点?
所以我更多地使用了 Jetpack,然后决定切换到另一个插件。
一些注意事项:
我玩了一下 publicize_should_publicize_published_post,它基本上是整个 Publicize 插件的一个大 ON/OFF 开关。无法让它只关闭一个频道 (Facebook)
无论我如何表达 if-else 条件,Facebook 发布仍然成功,尽管我确实检查了函数的输出是否正确。
仍然想知道是否有人对该问题有一个干净的解决方案,但让我们结束这个问题。
在我当前的项目中,我有三个 post 类别(专栏、精选和新闻)并使用 Jetpack Publicize 在 Facebook 和 Twitter 上分享任何新的 post。
对于 "News" 类别,我只想在 Twitter 上进行宣传(因此以某种方式专门停用该类别的 Facebook 共享)。
我一直在查看 Jetpack 文档并调整了他们的推荐代码:
add_filter( 'wpas_submit_post?', 'news_twitter_submit_post', 10, 4 );
function news_twitter_submit_post( $ret, $post_id, $name, $connection ) {
// $categories = get_the_terms( $post_id, 'category' );
$categories = wp_get_post_categories( $post->slug );
if ( 'facebook' == $name ) {
if ( is_array( $categories ) )
$categories = wp_list_pluck( $categories, 'slug' );
if ( !empty( $categories ) && in_array( 'news', $categories ) ){
$ret = false;
}
}
return $ret; }
除此之外,post 仍在 Facebook 上发布。
我也一直在查看 publicize_should_publicize_published_post 挂钩,但无法让它工作。
我有什么办法可以做到这一点?
所以我更多地使用了 Jetpack,然后决定切换到另一个插件。
一些注意事项:
我玩了一下 publicize_should_publicize_published_post,它基本上是整个 Publicize 插件的一个大 ON/OFF 开关。无法让它只关闭一个频道 (Facebook)
无论我如何表达 if-else 条件,Facebook 发布仍然成功,尽管我确实检查了函数的输出是否正确。
仍然想知道是否有人对该问题有一个干净的解决方案,但让我们结束这个问题。