检索不带页面ID的数组项

时间:2020-06-17 作者:bfoley_teamug

我使用wp\\u list\\u页面来显示我们网站的导航。

导航应仅为第二级页面。我希望nav显示阵列的前四个项目,然后将其余项目嵌套在一个;更多“;下拉列表。

我试图做的是拆分数组,以便最后几个列表项可以位于包含更多下拉列表的不同HTML标记中。

要显示前四项,我使用“include”,但这需要页面ID。我想要的是数组的前四项,无论页面ID是什么。

两个快速问题:如何检索数组中的前四项?这是分割阵列的最佳方法吗?这样我就可以显示前四个项目,并将其余的项目放在一个更大的下拉列表中?

提前感谢!

<?php
               wp_list_pages(
                     array(
                       \'child_of\' => $section_top_parent,
                       \'post_type\' => \'section\',
                       \'title_li\' => NULL,
                       \'depth\' => 1,
                       \'include\' => array(2285, 34272, 2286, 2287),
                       \'sort_order\' => \'asc\'
                   ));
 ?>

1 个回复
SO网友:Sabbir Hasan

要获取作为数组的页面,请使用get_pages() 相反现在,一旦我们有了一个列表,我们就可以检查列表的大小并将其拆分。让我们举个例子:

$allpages = get_pages(
    array(
        \'child_of\' => $section_top_parent,
        \'post_type\' => \'section\',
        \'depth\' => 1,
        \'sort_order\' => \'asc\'
    )
);
//check $allpages has any value
if($allpages){
    //calculate the array size
    $totalSize = sizeof($allpages);

    //now divide the array
    $firstFour = array_slice($allpages, 0, 4);
    
    $rest = array();
    //Check if the array has more than 4 items.
    if($totalSize > 4){

        //As we already got first for so we only need the rest of the pages.
        $rest = array_slice($allpages, 4, $totalSize-4 );
    }

    //now you can loop through both $firstFour & $rest to show them as you like.
}
你能行foreach 循环以显示自定义htlm中的项目。