如果Post_type不是Post,则Query_Posts不起作用

时间:2015-09-08 12:13:30

标签: wordpress post custom-post-type

所以我尝试过滤一个自定义的post-type,一个我用它的post_id创建的(154),这是我的查询,但它没有用(下面的查询)。

offset=50

然后我尝试了这个......它仍然拒绝工作(代码低)

query_posts('q=154')  //query_posts(array('post_id'=>154)) 
if(have_posts()){ the_post();
   $ar = types_render_field('job_posts', array('output'=>'html'));
    echo $ar;
 }

这是我的最终答案(下面的代码)有效...但它的解决方法因为我必须循环遍历所有可用的结果并过滤所需的帖子所需的ID,这是非常糟糕的...

resetAll();
$q = new WP_Query(array('post_id' => 154));
if($q->have_posts()): $q->the_post();

    echo '<b>the title is<b> ' ; //. $q->the_title();
    $ar = types_render_field('job_posts', array('output'=>'html'));
                    echo $ar;

endif;

我觉得这是一个错误因为我在这条线上花了无数个小时......否则,如果有人有另外一个我想知道......感谢。

2 个答案:

答案 0 :(得分:0)

不知道为什么你决定使用query_posts()

您可以使用WP_Query课程或get_post()(如评论中所述)。您可以像这样使用它:

$desiredPostQuery = new WP_Query(array(p=154, 'post_type=vacancy'));
$desiredPost = $desiredPostQuery->get_posts();

另一种方法是使用get_post()

$desiredPost = get_post(154);

codex中的参考: get_postWP_Query

答案 1 :(得分:-1)

请尝试使用wp_reset_query()。请点击链接。