在我的WordPress网站上,我有三个类别:“moviestar”、“访谈”和“电影”。
在一个名为“Angelina Jolie”的“moviestar”类别页面上(并带有一个自定义变量starname=“Angelina Jolie”),我想显示其他类别中标记为“Angelina Jolie”的帖子。
我的页面示例:
安吉丽娜·朱莉(正常页面信息)
访谈
查询1-显示标有“AngelinaJolie”的“访谈”类别中所有帖子的链接列表
电影记录查询2-显示标有“安吉丽娜·朱莉”的“电影”类别中所有帖子的链接列表
NextGen Gallery查询3-显示NextGen Gallery中标记为“Angelina Jolie”的所有图片
所以我的问题是:
我如何查询带有安吉丽娜·朱莉标签的特定类别的帖子?像这样?
global $wpdb;
$yourCategory = \'123\';
$yourTag = \'Angelina-Jolie\';
$querystr = "
SELECT p.* from $wpdb->posts p, $wpdb->terms t, $wpdb->term_taxonomy tt, $wpdb->term_relationships tr, $wpdb->terms t2, $wpdb->term_taxonomy tt2, $wpdb->term_relationships tr2
WHERE p.id = tr.object_id
AND t.term_id = tt.term_id
AND tr.term_taxonomy_id = tt.term_taxonomy_id
AND p.id = tr2.object_id
AND t2.term_id = tt2.term_id
AND tr2.term_taxonomy_id = tt2.term_taxonomy_id
AND (tt.taxonomy = \'category\' AND tt.term_id = t.term_id AND t.slug = \'$yourCategory\')
AND (tt2.taxonomy = \'post_tag\' AND tt2.term_id = t2.term_id AND t2.slug = \'$yourTag\')
";
$pageposts = $wpdb->get_results($querystr, OBJECT);
if ($pageposts):
foreach ($pageposts as $post):
setup_postdata($post);
// do regular WordPress Loop stuff in here
endforeach;
else :
// nothing found
endif;
如何修改以上内容以查询多个类别并存储帖子所在的类别?
我将在页面上查询一次,然后使用PHP循环回显每个标题下的信息,这有意义吗?类似于。。。
while(($row=mysql_fetch_array($result))&&($row[\'cat\']==\'845\')){
echo "<li><a href=\'".$row[\'url\']."\'>". $row[\'post_title\'] . "</a></li>";
放弃使用WordPress函数和查询,而是直接使用普通php查询db是否更好?
我真的需要一些建议或一个好的例子。我正在使用Wordpress 3.3.2
我读过以下内容,但我还不明白:
http://www.borishoekmeijer.nl/show-related-posts-using-custom-taxonomy/https://stackoverflow.com/questions/8563136/wordpress-query-filtering-by-custom-field-tag-and-category