我正在开发一个由页面和子页面组成的导航菜单。我没有对它进行编码,所以我不完全确定它是如何工作的,但在阅读了一些代码后,似乎菜单是由navivation中的这一行生成的。php文件。
<?php wp_list_pages(\'title_li=&depth=\'.$bpt_navigation_depth.\'&sort_column=menu_order\'); ?>
现在,我不得不手动构建另一个菜单。我只是创建了一个列表,并插入了指向所需页面的链接,而没有使用任何wordpress功能。其中一些链接也在其他菜单中,因此我想从那里删除它们。我试过这样做:
<?php $args = array(
\'depth\' => 0,
\'show_date\' => \'\',
\'date_format\' => get_option(\'date_format\'),
\'child_of\' => 0,
\'exclude\' => \'17\',
\'include\' => \'\',
\'title_li\' => __(\'Pages\'),
\'echo\' => 1,
\'authors\' => \'\',
\'sort_column\' => \'menu_order, post_title\',
\'link_before\' => \'\',
\'link_after\' => \'\',
\'walker\' => \'\',
\'post_type\' => \'page\',
\'post_status\' => \'publish\'
); ?>
<?php wp_list_pages($args); ?>
但实际情况是,它创建了一个菜单,其中包含一个名为“Pages”的元素,其中包含一个子菜单和所有其他页面,无论如何,它不排除第17页。
SO网友:Adam
我不太清楚你到底想做什么"I had to manually build another menu. I just created a list and inserted links to the pages I needed, without using any WordPress function." 没有什么意义。
您需要通过包含exclude
中的参数wp_list_pages
作用
E、 g.(例如:“排除=3,7,31”)。
<?php wp_list_pages(\'title_li=&depth=\'.$bpt_navigation_depth.\'&sort_column=menu_order&exclude=17\'); ?>
撇开第二段代码不谈,您可能不需要调用这些参数中的每一个,除非您正在使用它们中的每一个。
因此,将这些争论削减到你需要完成的最低限度。
<?php $args = array(
\'depth\' => 0,
\'exclude\' => \'17\',
\'sort_column\' => \'menu_order, post_title\',
\'post_type\' => \'page\',
\'post_status\' => \'publish\'
); ?>
<?php wp_list_pages($args); ?>
这就足够让你继续下去了,你可以根据需要添加或删除参数。
如果您试图构建除ID等于17的页面之外的所有页面的列表,那么上面的代码片段将适用于您。
让我们知道!