【发布时间】:2014-09-20 04:28:06
【问题描述】:
在 WordPress 中,我尝试使用以下方法从自定义帖子类型“颜色”、自定义分类“颜色名称”中获取帖子:
注意:我有一个自定义帖子类型,颜色,自定义帖子的标题是“珊瑚”、“牡丹”。我还有一个自定义分类,颜色名称。通过保存彩色帖子的挂钩,可以创建自定义分类中的类别。然后,自定义帖子类型颜色,可以用其他相关颜色进行标记。
$slug = str_replace(" ", "_", $page_title);
$slug = strtolower($slug);
//Slug is - 'coral', 'peony', etc.
$args = array( 'post_type' => 'color',
'posts_per_page' => -1,
'tax_query' => array( array (
'taxonomy' => 'color-name',
'field' => 'slug',
'terms' => $slug
) )
);
$myposts = query_posts( $args );
我在谷歌搜索后尝试了很多变体,但没有任何效果 - 我要么得到所有帖子,要么没有帖子。这是我尝试过的另一个版本的 args:(结果没有帖子):
$args = array('color-name' => $page_title,
'post_type' => 'color',
'post_status' => 'publish',
'posts_per_page' => -1,
'caller_get_posts'=> 1
);
我之前曾为此苦苦挣扎并放弃了,只是进行了自定义 sql 调用。有谁确切地知道如何通过 WordPress 功能实现这一点?
【问题讨论】:
-
您的条款如何。看来这是你的问题。此外,从不使用
query_posts,它会破坏主查询,并且在大多数情况下,分页完全失败。此外,caller_get_posts已长期贬值,已替换为ignore_sticky_posts -
你是说这件作品吗? '条款' => $slug? $slug 是一个字符串,比如 "peony"。
-
是的,我是这个意思。我相信
$slug是你的问题。你确定$slug的结果是一个字符串而不是一个数组。请edit您的问题并为$slug添加您的代码。我想看看那个 -
这就是我想要做的事情,用文字来表达:列出所有在名为 color-name 的自定义分类下标记为“蓝色”的帖子,这些帖子也在自定义帖子类型“颜色”中
-
好吧,这有点道理。没有的部分,蓝色,是一个帖子标签或颜色名称中的一个术语