小部件:仅当帖子同时具有类别X和Y时才显示最近的帖子

时间:2012-10-22 作者:deathlock

我一直在尝试创建一个最近发布的小部件,其中只显示/显示同时具有X和Y(或更多)类别的帖子。类别X和Y是用户定义的,因此我计划将其设置为如下所示:

enter image description here

事实上,这张图片是我成功创建的实际屏幕截图。

如果我只从一个类别中选择,效果很好。它将显示所有类别为X(或X的子级)的帖子。然而,如果我再添加一个类别,它将停止工作——相反,小部件将显示所有最近的帖子,而不管类别如何。

enter image description here

为了创建此代码,基本上我复制了widget_recent_posts 分类自default-widget.php 并为ID输入添加字段。它利用WP_query 查询帖子和category__and 选择职位:

$r = new WP_Query( apply_filters( \'widget_posts_args\', array( \'posts_per_page\' => $number, \'no_found_rows\' => true, \'post_status\' => \'publish\', \'category__and\' => array($category_name), \'ignore_sticky_posts\' => true ) ) );
到目前为止,我创建的内容(完整类)可在此处找到:http://codepad.org/yf1ZFAt5

如果有人能帮助我,我会非常感激,因为我已经在这件事上胡闹了好几个小时,但还没有设法解决它s

1 个回复
最合适的回答,由SO网友:Mridul Aggarwal 整理而成

您正在使用\'category__and\' => array($category_name) 根据输入变成\'category__and\' => array(\'594,3\')

此处“594,3”不是有效的id

相反,请尝试\'category__and\' => explode(\',\', $category_name)

这将使输入成为\'category__and\' => array(\'594\', \'3\')

结束

相关推荐

Get_Categories仅获取主语言的类别

我试图在“content composer”中检索基于活动语言的项目类别。但我只从主要语言中获取类别,而没有从其他语言中获取类别。我的代码是:类别全部 $categories = get_categories(\'taxonomy=jw_portfolio_categories\'); if(!empty($categories)){ foreach($categories