仅显示所选帖子类别的帖子

时间:2015-07-27 10:08:14

标签: wordpress advanced-custom-fields buddypress

我正在建立一个新闻聚合网站,我从几个不同的新闻来源获取新闻,转换成帖子。我希望我的注册用户有可能选择他们想要在我的网站上的Feed中看到哪些新闻来源(帖子类别)(不是BuddyPress自己的活动源,而是我列出来自不同来源的所有混合新闻帖子的Feed)。

自定义字段或其他内容是否可以实现?因此,当用户编辑他们的个人资料时,他们可以勾选他们想要在他们的Feed中添加/删除的来源旁边的框。

我希望每个用户都可以自由地做的事情的一个例子:

  

“选择您要阅读的新闻来源(帖子类别):”

     

[]今日美国

     

[]卫报

     

[✓]纽约人

上面的特定用户现在只能在新闻Feed中看到纽约客的新闻。

你们如何用BuddyPress完成这样的解决方案?

更新

澄清:

Emma登录她的帐户(通过BuddyPress插件)并转到她的帐户设置。在“帐户设置”页面中,我想列出几个带有新闻来源的复选框。如果Emma选择了两个复选框(即The Guardian& USA Today),那么Emma希望WP_Query只选择这些帖子类别中的帖子(这是不同的报纸)。

1。如何使用高级自定义字段创建这些字段并将其显示在“配置文件设置”页面上?

2. 如何从“个人资料设置”中的“高级自定义字段”中选择值,并按帖子类别过滤WP_Query(提取所有帖子)?

2 个答案:

答案 0 :(得分:0)

尝试使用高级自定义字段插件。

http://www.advancedcustomfields.com/

您可以使用Taxonomy字段类型,并使用它来获取所选值。

http://www.advancedcustomfields.com/resources/code-examples/#working-with数组值

$values = get_field('field_name');
if($values)
{
    echo '<ul>';

    foreach($values as $value)
    {
        echo '<li>' . $value . '</li>';
    }

    echo '</ul>';
}

然后只使用自定义查询并按类别ID进行过滤。

https://codex.wordpress.org/Class_Reference/WP_Query#Category_Parameters

$query = new WP_Query( 'cat=2,6,17,38' );

答案 1 :(得分:0)

我做了这项工作,在选择类别时输入,并在自定义表格中保存所选类别的ID并查询已保存的ID。