我们已将 Discourse 集成到我们的 Wordpress 网站,手动发布可以正常工作。但我希望设置自动发布到 Discourse,仅发布特定类别的帖子。我看到我们可以按标签排除,但这不适用于此用例。我想按类别包含。这是否可行,如果不可行,是否可以添加此功能?这似乎是一个非常有用的/重要的选项,老实说,我曾惊讶地发现它似乎还没有。谢谢。
嘿 @vanclute,
您可以使用 wpdc_publish_after_save 过滤器来实现此目的。在您的 WordPress functions.php 文件中添加以下内容:
function publish_to_discourse( $force_publish, $post_id, $post ) {
return has_term( TERM, TAXONOMY, $post );
}
add_filter( 'wpdc_publish_after_save', 'publish_to_discourse', 10, 3 );
您需要将 TERM 和 TAXONOMY 替换为您在 WordPress 中使用的“分类”内容。请注意,TERM 可以是一个数组,例如
array( 'category name 1', 'category name 2')
示例
function publish_to_discourse( $force_publish, $post_id, $post ) {
return has_term( array( 'news', 'blog' ), 'category', $post );
}
add_filter( 'wpdc_publish_after_save', 'publish_to_discourse', 10, 3 );
3 个赞
谢谢。我确实希望不必修改任何 WP 文件,但感谢您的指点。
无需修改
按照应有的方式进行操作…
安装代码片段或类似插件,并通过它来完成(当然,你也可以将其作为一个单独的插件来实现;没有区别)。这与安装 Discourse 的主题组件或插件完全相同。
只有当修改依赖于主题时,才在子主题的 functions.php 文件中进行操作。这次不是这种情况。
1 个赞