Exclude pages by menu order

时间:2012-07-13 作者:Sagive

我有一个“默认页面生成器”的主题激活我已经创建
在该文件中,我为每页设置了“menu\\u order”。

i want to exclude pages with menu order bigger then 50 from the default wp_list_pages menu

是否有方法检查/检索每页的“menu\\u order”?如果有,您能想出一种方法将其集成到wp\\u list\\u pages函数中吗?

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

在函数中声明以下函数。php

function wpse58346_wp_list_pages( $pages, $r ) {
    foreach( $pages as $key => $page ) {
        if ( 50 < $page->menu_order )
            unset($pages[$key]);
    }
    return $pages;
}
现在打电话之前wp_list_pages() 应用过滤器,如下所示

add_filter(\'get_pages\', \'wpse58346_wp_list_pages\', \'\', 2);
你打过电话之后wp_list_pages() 您可以删除过滤器,这样它就不会干扰其他功能

remove_filter(\'get_pages\', \'wpse58346_wp_list_pages\');

结束

相关推荐

将筛选器添加到wp_Dropdown_Pages()或wp_Dropdown_Categories()-没有选择容器?

我在和wp_dropdown_pages() 和wp_dropdown_categories() 并且两者都始终输出<select>-盒子及其<option>s作为项目。有没有可能在这个函数中添加一个过滤器/挂钩,这样我就可以得到<option>s而不被包裹在<select>我这样问的原因是我想将页面和类别合并到一个下拉列表中。我找不到参数来设置这个!有什么想法吗?