【发布时间】:2018-04-19 02:26:45
【问题描述】:
我想编写一个 wordpress 插件,您可以在其中添加页面。 如果您提交页面,它还应该在“团队”菜单下创建一个子菜单。
到目前为止,我可以通过我的代码创建页面,但不能通过子菜单。
我尝试了在 google 上找到的不同功能,但没有任何效果。
有谁知道有帮助的函数或脚本吗?
【问题讨论】:
-
有一个WordPress开发问题的网站:wordpress.stackexchange.com
我想编写一个 wordpress 插件,您可以在其中添加页面。 如果您提交页面,它还应该在“团队”菜单下创建一个子菜单。
到目前为止,我可以通过我的代码创建页面,但不能通过子菜单。
我尝试了在 google 上找到的不同功能,但没有任何效果。
有谁知道有帮助的函数或脚本吗?
【问题讨论】:
是的,当然,请使用以下示例来帮助您入门。如果您没有定义多个菜单对象,则检查您是否在正确菜单中的子句可能需要更改或删除。
menu_item_parent 至关重要,它是父项的 uid。通过查看您的前端源代码找到它。您应该会发现,通过 WP 菜单创建函数插入的每个菜单项都会插入唯一的项 id。
// add a sub menu dynamically via code!
function aj_add_menu_item( $items, $args ) {
// check we are in the right menu
if( $args -> theme_location =="primary" ) {
$new_links = array();
// Create a nav_menu_item object
$newItem = array(
'title' => "Offers",
'menu_item_parent' => 71,
'ID' => 'loginout',
'db_id' => '12312332', // something random
'url' => "offers",
'classes' => array( 'menu-item' )
);
$items[] = (object) $newItem; // add to end of existing object.
menu_item_parent value will ensure it goes in right place
return $items;
}else{
return $items;
}
}
add_filter( 'wp_nav_menu_objects', 'aj_add_menu_item', 10, 2 );
【讨论】: