我遇到了从所有帖子类型中按标记抓取相关帖子的问题。我使用以下代码:
<?php
$tags = wp_get_post_tags($post->ID);
if ($tags) {
echo 'Related Posts';
$first_tag = $tags[0]->term_id;
$args=array(
'tag__in' => array($first_tag),
'post__not_in' => array($post->ID),
'showposts'=>5,
'caller_get_posts'=>1,
'post_type' => array('food','travel')
);
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
echo '<ul>';
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<li><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>
<?php
endwhile;
echo '</ul>';
}
}
?>
它不会返回正确的帖子,而是显示最新的帖子。我在WP文档上检查了十几次,我的语法是正确的。
如果这是一个错误,那么有人有补丁吗?或者另一种选择是,如果您可以共享SQL
查询方法。
答案 0 :(得分:0)
禁用所有插件。查看add_action('pre_get_posts',...
此操作有时会将$my_query->query_vars['post_type']
替换为“any”。
对我而言,它是Sticky Custom Post Types
插件。