如何动态更改侧边栏菜单内容 - wordpress?

时间:2016-09-23 08:49:26

标签: php jquery wordpress customization

我有独特的wordpress后端设计,需要实现它。如何在那里添加我自己的菜单项(参见第一张附图)?我知道如何删除现有的菜单,但除了删除我需要添加自己的菜单。有没有动态的方式与PHP做到这一点? (见图示例here

我尝试使用jquery append()函数添加我的自定义菜单,但这是非常糟糕的解决方案。有什么想法吗?

Wordpress Admin Side Menu

3 个答案:

答案 0 :(得分:1)

在管理员中添加新菜单:  使用add_menu_page我们可以添加菜单和add_submenu_page来添加子菜单。 More detail

在以下代码段添加管理员新的自定义菜单

add_action('admin_menu', 'register_event_menu');
function register_event_menu() {
    add_menu_page('Event', 'Event', 'manage_options', 'event_details', 'event_function', 'dashicons-clipboard');
    add_submenu_page('event_details', 'Event Setting', 'Event Setting', 'manage_options', 'event_setting', 'event_settings_function');
}

function event_function() {

    echo "<div class='warp'>";
    echo "<h2>Admin Page DalwadiWp</h2>";
    echo "</div>";
}

function event_settings_function() {
    echo "<div class='warp'>";
    echo "<h2>Admin Page DalwadiWp</h2>";
    echo "</div>";

}

用于管理列表中的删除菜单。下面的片段删除管理列表中的帖子菜单。  More detail

add_action( 'admin_menu', 'custom_menu_page_removing' );
function custom_menu_page_removing() {
    remove_menu_page( 'edit.php' ); //Posts
}

答案 1 :(得分:1)

在管理菜单中添加自定义徽标。

http://screencast.com/t/dCvqzfxdup

add_action('admin_menu', 'codyfly_admin_menu');

function codyfly_admin_menu() {
    global $menu;
    $url = 'http://codyfly.com';
    $url1 = 'http://codyfly.com';
    $menu[0] = array( __(''), 'read', $url, 'my-logo', 'my-logo');
    $menu[1] = array( __(''), 'read', $url1, 'my-logo1', 'my-logo1');
}

add_action('admin_head', 'codyfly_admin_style');

function codyfly_admin_style() {
    echo '<link rel="stylesheet" href="' . get_template_directory_uri() . '/css/style-admin.css" type="text/css" media="all" />';
}

在这里添加样式

#adminmenu a.my-logo,
#adminmenu a.my-logo1{
    display: block;
    background: url(https://dummyimage.com/250x85/fff/000) no-repeat center center;
    background-size: 140px 40px;
    width: 140px;
    opacity: 0.6;
    height: 40px;
    margin: 0 auto;
    padding: 10px 5px;
}

#adminmenu a.shomtek-logo div.wp-menu-name {
    display: none;
}

答案 2 :(得分:1)

在管理员菜单中添加包含用户名的自定义徽标。

演示链接图片:http://screencast.com/t/W8dcfhAgS

添加功能文件

add_action('admin_menu', 'codyfly_admin_menu');
function codyfly_admin_menu() {
    global $menu;
    global $current_user;
    $url = 'http://codyfly.com';
    $url1 = 'http://codyfly.com';
    $username = '';
    if ( is_user_logged_in() ) { 
        $username = $current_user->user_login;
    }
    $menu[0] = array( __(''), 'read', $url, 'my-logo', 'my-logo');
    $menu[1] = array( __($username), 'read', $url1, 'my-logo1', 'my-logo1');
}

add_action('admin_head', 'codyfly_admin_style');

function codyfly_admin_style() {
    echo '<link rel="stylesheet" href="' . get_template_directory_uri() . '/css/style-admin.css" type="text/css" media="all" />';
}

添加样式

#adminmenu a.my-logo,
#adminmenu a.my-logo1{
    display: block;
    background: url(https://dummyimage.com/140x40/fff/000) no-repeat center center;
    background-size: 140px 40px;
    width: 140px;
    height: 40px;
    margin: 0 auto;
    padding: 10px 5px;

    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
}
#adminmenu a.my-logo1{
     background: url(https://dummyimage.com/50x40/fff/000) no-repeat;
    background-position: left center;
    background-size: 50px 40px;
}
#adminmenu a.my-logo1 .wp-menu-name{
    padding-left: 60px;
}
#adminmenu a.shomtek-logo div.wp-menu-name {
    display: none;
}