wordpress wp_query无法使用post_parent

时间:2018-04-13 11:02:00

标签: php wordpress loops

使用post_parent运算符时,下面的wp_query不起作用。

如果我删除此选项,则查询会运行,但是当我重新添加时,它不会运行。

我已经在管理员的类别网址中找到了帖子父ID,而且该类别中有24个帖子肯定是正确的。

该类别的网址为wp-admin/term.php?taxonomy=category&tag_ID=2893&post_type=post&wp_http_referer=%2Fwp-admin%2Fedit-tags.php%3Ftaxonomy%3Dcategory

<?php
// WP_Query arguments
$args = array(
    'post_parent'            => '2893',
    'post_type'              => 'post',
    //'post_status'            => array( 'publish' ),
    //'nopaging'               => true,
    // 'order'                  => 'ASC',
    // 'orderby'                => 'title'
);
// The Query
$sizes = new WP_Query( $args );
// The Loop
if ( $sizes->have_posts() ) {
    while ( $sizes->have_posts() ) {
        $sizes->the_title();
    }
} else {
    echo 'nothing here...';
}
// Restore original Post Data
wp_reset_postdata(); ?>  

2 个答案:

答案 0 :(得分:1)

如果您要列出使用类别字词(按ID)标记的网页,则必须使用'category__in' => array()post_parent参数用于获取页面(或层次结构的CPT),其中ID传递的页面/帖子被设置为其他页面的父页面。

使用类别ID标记帖子的示例用法:

$args = array(
    'category__in' => array($cat_id_1, $cat_id_2) // Where $cat_id_x is an integer of the category ID (2893 in your case).
);

答案 1 :(得分:0)

将参数作为整数传递,而不是字符串;)

<?php
// WP_Query arguments.
$args = array(
    'post_parent' => 2893, // This should be integer.
    'post_type'   => 'post',
    // 'post_status' => array( 'publish' ),
    // 'nopaging'    => true,
    // 'order'       => 'ASC',
    // 'orderby'     => 'title',
);

// The Query.
$sizes = new WP_Query( $args );
// The Loop.
if ( $sizes->have_posts() ) {
    while ( $sizes->have_posts() ) {
        $sizes->the_title();
    }
} else {
    echo 'nothing here...';
}
// Restore original Post Data.
wp_reset_postdata();