Php 如何在WordPress菜单中添加边栏
我需要在菜单中添加一个小部件,我正在尝试:Php 如何在WordPress菜单中添加边栏,php,wordpress,function,Php,Wordpress,Function,我需要在菜单中添加一个小部件,我正在尝试: add_filter('wp_nav_menu_items', 'add_widget_to_menu', 10, 2); function add_widget_to_menu($items, $args) { if ($args->theme_location == 'mobile_menu') return $items . '<div id="newsletter-mobile"
add_filter('wp_nav_menu_items', 'add_widget_to_menu', 10, 2);
function add_widget_to_menu($items, $args) {
if ($args->theme_location == 'mobile_menu')
return $items .
'<div id="newsletter-mobile">' .
dynamic_sidebar('sidebar-mobile' ) .
'</div>';
return $items;
}
add_filter('wp_导航_菜单_项','add_小部件_到_菜单',10,2);
函数将小部件添加到菜单($items,$args){
如果($args->theme\u location=='mobile\u menu')
返回$items。
'' .
动态侧栏(“侧栏-移动”)。
'';
退回$items;
}
怎么了?您可以使用以下命令创建侧栏
register_sidebar(array(
'name'=>'Widget_Name',
'id'=>'widget_id',
'before_widget' =>'<div class="">',
'after_widget' =>'</div>'
));
有关更多详细信息,请参阅。此挂钩用于在WordPress中添加边栏菜单:
add_action("admin_menu", "sidebar_menu_for_registration");
用于注册的侧栏菜单是一个函数
这是创建侧栏菜单的语法:
add_menu_page(string $page_title, string $menu_title, string $capability, string $menu_slug, callable $function = '', string $icon_url = '', int $position = null)
您将得到1作为输出,将小部件区域添加到这样的菜单中。原因是wp_nav_菜单回显了这些项目。要使其工作,您应该将小部件区域的内容转换为字符串。我设法用缓冲解决了这个问题。下面是一个适用于我的小代码示例:
function add_extra_item_to_nav_menu( $items, $args ) {
ob_start();
dynamic_sidebar( 'header-widget-area' );
$menu_widget_area = ob_get_clean();
$items .= $menu_widget_area;
return $items;
}
add_filter( 'wp_nav_menu_items', 'add_extra_item_to_nav_menu', 10, 2 );
示例代码中似乎缺少一些内容。
function add_extra_item_to_nav_menu( $items, $args ) {
ob_start();
dynamic_sidebar( 'header-widget-area' );
$menu_widget_area = ob_get_clean();
$items .= $menu_widget_area;
return $items;
}
add_filter( 'wp_nav_menu_items', 'add_extra_item_to_nav_menu', 10, 2 );