如何通过wp_Query获取帖子的更多数据

时间:2016-09-13 作者:saeed Am

我正在尝试获取我的帖子数据JSON. 我试着通过woocommerce来做到这一点API 但我无法找到如何按类别获取帖子,所以我开始按WP_Query 这是我的代码:

$args = array (
    \'post_type\'              => \'product\',
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'product_cat\',
            \'field\'    => \'id\',
            \'terms\'    => 37
        ),
    )
);

// The Query
$query = new WP_Query( $args );

// The Loop
if ( $query->have_posts() ) {
    $posts = $query->get_posts();
    print_r($posts);
} else {
    // no posts found
}

// Restore original Post Data
wp_reset_postdata();
但似乎是通过方法get_post() 我刚刚得到以下数据:

            [ID] => 5307
            [post_author] => 1
            [post_date] => 2016-09-01 09:04:16
            [post_date_gmt] => 2016-09-01 09:04:16
            [post_content] => لباس از جنس نخ طبیعی
            [post_title] => لباس مجلسی
            [post_excerpt] => 
            [post_status] => publish
            [comment_status] => open
            [ping_status] => closed
            [post_password] => 
            [post_name] => %d9%84%d8%a8%d8%a7%d8%b3-%d9%85%d8%ac%d9%84%d8%b3%db%8c
            [to_ping] => 
            [pinged] => 
            [post_modified] => 2016-09-05 12:22:24
            [post_modified_gmt] => 2016-09-05 12:22:24
            [post_content_filtered] => 
            [post_parent] => 0
            [guid] => http://localhost/?post_type=product&p=5307
            [menu_order] => 0
            [post_type] => product
            [post_mime_type] => 
            [comment_count] => 0
            [filter] => raw
我正在尝试获取更多的帖子数据,例如缩略图(未来图像)、评论、内容、分类法和。例如,我不想使用与the_date or the_content 因为这些功能echo 我的数据我不想要它。我想将这些数据存储在array.

此外,这些函数的某些未来是很好的,例如函数the_date 在我的插件转换后返回帖子的日期,这很有用。

那么,有没有想法用JSON获取帖子的所有数据?

1 个回复
最合适的回答,由SO网友:Malisa 整理而成

Wordpress有许多内置函数,允许您获取添加到帖子中的任何数据,无论是标准数据还是自定义数据。以下示例:

if ($query->have_posts()) {
    while ($query->have_posts()) {
            $posts = $query->get_posts();
            $array[\'title\'] = get_the_title();
            $array[\'permalink\'] = get_the_permalink();
            $array[\'content\'] = get_the_content();
            $array[\'post_date\'] = get_the_date();
            if (has_post_thumbnail()) {
                    $array[\'feat_image_url\'] = wp_get_attachment_url(get_post_thumbnail_id());
            }

            $array[\'custom_meta_1\'] = get_post_meta($post->ID, \'_some_post_meta_1\', true);
            $array[\'custom_meta_2\'] = get_post_meta($post->ID, \'_some_post_meta_2\', true);
    }

    wp_reset_postdata();
    print_r($array);
}
然后您可以使用$array 创建Json。

以上仅举几个例子,下面的链接供您学习。你真的应该通读法典,或者至少把它编入书签,以备将来参考。

get_the_content
get_the_date
wp_get_attachment_url

相关推荐

我在通过AJAX调用wp-json端点时收到401

N.B. Resolved - I hadn\'t noticed it was a POST rather than a GET.我正在尝试使用来自前端页面的AJAX调用来提取列表;“员工”;(自定义帖子类型)。我可以通过wp-json/wp/v2/staff在浏览器中获取数据,但当我尝试通过AJAX获取数据时,我会得到401。我假设我需要以某种方式进行身份验证,但无法确定如何进行身份验证。提前谢谢。