我在WP管理栏中显示两个自定义下拉菜单时遇到问题。我想要的是第一个下拉列表显示每个页面的后端(编辑部分)链接,另一个下拉列表显示每个页面的前端链接。现在,只显示被调用的最后一个foreach语句。任何建议都非常感谢。
function admin_bar_link($admin_bar) {
if ( !is_super_admin() || !is_admin_bar_showing() )
return;
$pages = get_pages();
$nurs = get_site_url();
$admin_bar->add_menu(array(
'id' => 'this',
'title' => __($nurs),
'href' => $nurs
));
$admin_bar->add_menu(array(
'id' => 'edit_pages_links',
'title' => __('Edit Pages'),
'href' => false
));
$admin_bar->add_menu(array(
'id' => 'view_pages_links',
'title' => __('View Pages'),
'href' => false
));
foreach ( $pages as $page ) {
$title = $page->post_title;
$url = get_permalink ( $page->ID ) . 'wp-admin/post.php?post=' . $page->ID . '&action=edit'; //edit post url
$admin_bar->add_menu (array(
'title' => $title,
'href' => $url,
'parent' => 'edit_pages_links'
)
);
}//end foreach
foreach ( $pages as $page ) {
$title = $page->post_title;
$url = get_permalink ( $page->ID ) . '?p='. $page->ID;
$admin_bar->add_menu ( array (
'title' => $title,
'href' => $url,
'parent' => 'view_pages_links'
)
);
}//end foreach
}
add_action('admin_bar_menu', 'admin_bar_link');
答案 0 :(得分:0)
首先,您的函数应该接受$ admin_bar变量,如下所示:
function admin_bar_link($admin_bar)
,您不再需要global $wp_admin_bar
了。然后替换这些:
$wp_admin_bar->add_menu
用这个
$admin_bar->add_menu
然后菜单应显示在管理栏上。