用wordpress页面填充数组

时间:2018-11-12 12:03:32

标签: php html wordpress

我的网站上有一个产品页面,我有一个数组来存储所有以产品为父页面的页面。这可以正常工作,但是由于某种原因,它会在10个条目后停止填充数组。这是我填写数组的代码。

$args = array(
    'post_parent' => get_page_by_path( 'products' )->ID,
    'post_type'   => 'page',
    'numberposts' => -1,
    'post_status' => 'any');    

// The Query
$parent = new WP_Query( $args );
$n = 0;
// The Loop
if ( $parent->have_posts() ) {
    echo '<ul>';
    while ( $parent->have_posts() ) {
        $parent->the_post();
        echo '<li>' . get_the_title() . '</li>';
        $n++;
        echo $n;
    }
    echo '</ul>';
    // Restore original Post Data
    wp_reset_postdata();
}

这将返回页面的标题,并回显一个数字以对其进行计数。输出显示标题,但在10 pages之后停止,即使我有12 pages并将产品作为父项。奇怪的是,当我添加另一个包含产品的页面作为父页面时,它会将列表中的最后一个页面推出,并将新添加的页面放在数组的第一位。 欢迎任何帮助!

2 个答案:

答案 0 :(得分:0)

使用posts_per_page代替numberposts

$args = array(
'post_parent' => get_page_by_path( 'products' )->ID,
'post_type'   => 'page',
'posts_per_page' => -1,
'post_status' => 'any'); 

答案 1 :(得分:0)

您可以通过在posts_per_page数组中设置$args来定义返回的帖子数。

$args = array(
    'post_parent' => get_page_by_path( 'products' )->ID,
    'post_type'   => 'page',
    'numberposts' => -1,
    'post_status' => 'any',
    'posts_per_page' => '100');