如何创建子页面的随机列表

时间:2016-12-26 作者:JWKlaudi

我有一个网站,有父和子页面。我希望能够显示子页面的列表,以随机顺序列出。此外,我想限制显示的子页面的数量。

我已经找到了一个随机列出页面的解决方案,但是,我需要1。限制返回的子页面数
2。在列表顶部添加父页面。

示例:
父页
子页
子页
子页
我使用的代码是:

add_shortcode( \'wpb_childpages\', \'wpb_list_child_pages\' );
function wpb_list_child_pages() { 
    global $post; 

    if ( is_page() && $post->post_parent ) {
        $childpages = wp_list_pages( \'sort_column=rand&title_li=&child_of=\' .  $post->post_parent . \'&echo=0\' );
    } else {
        $childpages = wp_list_pages( \'sort_column=rand&title_li=&child_of=\' .  $post->ID . \'&echo=0\' );
    }

    if ( $childpages ) {    
        $string = \'<ul>\' . $childpages . \'</ul>\';
    }

    return $string;
}

1 个回复
SO网友:cjbj

您可以使用wp_query. 在您的情况下,请尝试以下操作:

$query = new WP_Query (array( 
  \'post_parent\' => 93    // get the children of page with ID 93
  \'post_count\' => 7      // get 7 child pages
  \'orderby\' => \'rand\'    // order the results randomly
   ));
一旦你有了这个,你就可以循环$query 以通常的方式。

相关推荐

如何在WooCommerce_Account_Orders函数中传递$CURRENT_PAGE?

woocommerce功能woocommerce_account_orders($current_page) 已调用1个参数$current_page. 该函数通过调用woocommerce_account_orders_endpoint 通过以下挂钩-add_action( \'woocommerce_account_orders_endpoint\', \'woocommerce_account_orders\' );然而,在上述挂钩中,$current_page 未在函数中作为参数传递。情况如何$c