我为后端制作了一个自定义菜单处理程序,根据CMS Page Order.
现在的问题是,除了默认的wp\\u nav\\u菜单之外,似乎不可能以任何其他方式对wp\\u nav\\u菜单进行排序,这真的是真的吗?
我为后端制作了一个自定义菜单处理程序,根据CMS Page Order.
现在的问题是,除了默认的wp\\u nav\\u菜单之外,似乎不可能以任何其他方式对wp\\u nav\\u菜单进行排序,这真的是真的吗?
要更改显示菜单的查询中的orderby参数,可以使用pre\\u get\\u posts对其进行更改。示例:
add_action( \'pre_get_posts\', \'wpse_sort_nav\' );
function wpse_sort_nav( $query ) {
if ( $query->is_main_query() && get_query_var( \'post_type\' ) == \'nav_menu_item\' )
$query->set( \'orderby\', \'ID\' );
}
ID和menu\\u order是使用默认post表进行排序的唯一实际选项。没有标题,post\\u名称与ID相同。您可以使用存储在每个nav\\U菜单项中的元数据向pre\\u get\\u posts过滤器添加其他参数。
导航菜单元数据:
_menu\\u menu\\u item\\u parent
\\u menu\\u item\\u type
\\u menu\\u object\\u id
\\u menu\\u item\\u object
\\u menu\\u item\\u target
\\u menu\\u item\\u classes\\u menu item\\u xfn
\\u menu item\\u url
我为管理员创建了一个选项页面,并将其显示为顶级菜单->add_menu_page($themename, $themename, \'administrator\', basename(__FILE__), \'mytheme_admin\');我想在我创建的顶级菜单下添加一个子菜单,以显示完全相同的页面(显示为子菜单,但当用户单击顶级菜单时也会打开此页面)。此外,我不知道如何在这个顶级菜单下添加我创建的另一个主题页面。在这里询问之前,我已经阅读了wordpress文档,但无法完成。非常感谢。