如何修改代码适配自定义分类法Featured Categories用于Jetpack订阅筛选?
结论:不能直接使用原代码,必须修改适配自定义分类法
原代码依赖的jetpack_subscriptions_exclude_all_categories_except钩子仅针对WordPress**默认分类法(category)**生效,无法识别你网站的自定义分类法Featured Categories,直接使用无法实现仅推送该分类下Articles项文章的需求。
修改方案
需要改用jetpack_newsletter_should_send_post钩子——这个钩子可以单独控制每篇文章是否推送到Newsletter。通过检查文章是否属于自定义分类法下的Articles项,来决定是否推送:
function jetpackme_only_send_featured_articles_to_newsletter( $should_send, $post ) { // 检查当前文章是否属于自定义分类法"featured-categories"下的"articles"分类项 // 请根据你网站实际的自定义分类法slug、分类项slug调整对应参数 if ( has_term( 'articles', 'featured-categories', $post ) ) { return true; // 符合条件,允许推送 } else { return false; // 不符合条件,禁止推送 } } add_filter( 'jetpack_newsletter_should_send_post', 'jetpackme_only_send_featured_articles_to_newsletter', 10, 2 );
注意事项
- 确认自定义分类法的slug:如果你的
Featured Categories分类法slug不是featured-categories(比如可能是featured_categories),需要替换代码中对应的参数。 - 确认分类项的slug:确保
Articles分类项的slug确实是articles,如果后台设置的slug不同,也要同步修改代码里的对应值。
内容的提问来源于stack exchange,提问作者Fadhili Mbewha
相关产品推荐
相关产品推荐

