无法使用WP_Query与新数据库实例进行查询

时间:2017-09-19 06:56:11

标签: php mysql wordpress

我在wordpress中编写REST api。 api采用OOP格式。我创建了$ wpdb的新实例,连接工作正常。唯一的问题我无法通过WP_Query()查询数据库。但是使用普通的sql,我可以得到结果。

每当我使用WP_Query查询时,它似乎都会返回我,表列为null值。

失败

$args = array(
 'post_type' => 'custom_type'
);

$result = new WP_Query($args);

SUCCESS

 $query = "SELECT * FROM table_name WHERE post_type ='custom_type'";
 $result = get_results($query);

我也尝试在WP_Query之前添加斜杠,但无济于事:

$result = new \WP_Query($args);

我的错在哪里?有人请告诉我。提前谢谢。

2 个答案:

答案 0 :(得分:0)

你应该在wpquery对象

中调用have_posts()函数

$ query2 = new WP_Query($ args2);

if ( $query2->have_posts() ) {
    // The 2nd Loop
    while ( $query2->have_posts() ) {
        $query2->the_post();
        echo '<li>' . get_the_title( $query2->post->ID ) . '</li>';
    }

    // Restore original Post Data
    wp_reset_postdata();
}

答案 1 :(得分:0)

我建议您使用query_posts而不是WP_Query并在查询后重置postdata。

query_posts允许您使用分页,摘录和其他功能。

在query_posts之后,您可以使用简单的wploop