user
  • 0
Гуру

Перемещение ссылок в панели администратора WordPress

  • 0

Есть ли способ переместить ссылки, такие как «Добавить новые комментарии к внешнему виду», в одно меню?

Share
  1. Этот пост wordpress.stackexchange.com/questions/4998/… может быть полезен для понимания внутренностей бара и внесения правок.

    • 0
  2. Снят с охраны

    Вот пример того, как отключить ссылку на комментарии, если статус по умолчанию «закрыт» (предлагает 2 разных подхода).

    /**
     * Disable 'Comments' link if default status is _closed_
     */
    function remove_comments() 
    {
        $default_comment_status = get_option( 'default_comment_status' );
    
        if ( $default_comment_status == 'closed' ) 
        {
            remove_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 50 );
    
            // optional solution using the WP_Admin_Bar class from /wp-includes/class-wp-admin-bar.php
            # global $wp_admin_bar;
            # $wp_admin_bar->remove_menu( 'comments' );
        }
        else 
        {
            return;
        }
    }
    add_action( 'admin_bar_menu', 'remove_comments', 0 );
    

    Вы можете использовать remove_action вызовы для любого из следующих (/wp-includes/class.admin-bar.php — строка 182–192), чтобы отключить пункты меню:

    function remove_all_admin_bar_items() 
    {
        remove_action( 'admin_bar_menu', 'wp_admin_bar_my_account_menu', 10 );
        remove_action( 'admin_bar_menu', 'wp_admin_bar_my_sites_menu', 20 );
        remove_action( 'admin_bar_menu', 'wp_admin_bar_edit_menu', 30 );
        remove_action( 'admin_bar_menu', 'wp_admin_bar_shortlink_menu', 80 );
        remove_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 70 );
    
        if ( !is_network_admin() && !is_user_admin() ) {
            remove_action( 'admin_bar_menu', 'wp_admin_bar_new_content_menu', 40 );
            remove_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 50 );
            remove_action( 'admin_bar_menu', 'wp_admin_bar_appearance_menu', 60 );
        }
    }
    add_action( 'admin_bar_menu', 'remove_all_admin_bar_items', 0 );
    

    Установить и изменить порядок

    Добавьте следующие вызовы в свой functions.php файл после удаления элементов. Целое число в конце каждого add_action вызова — это новый «порядок».

    function reorder_admin_bar_items()
    {
        add_action( 'admin_bar_menu', 'wp_admin_bar_my_account_menu', 100 );
        add_action( 'admin_bar_menu', 'wp_admin_bar_my_sites_menu', 10 );
        add_action( 'admin_bar_menu', 'wp_admin_bar_edit_menu', 40 );
        add_action( 'admin_bar_menu', 'wp_admin_bar_shortlink_menu', 20 );
        add_action( 'admin_bar_menu', 'wp_admin_bar_updates_menu', 50 );
    
        if ( !is_network_admin() && !is_user_admin() ) {
            add_action( 'admin_bar_menu', 'wp_admin_bar_new_content_menu', 80 );
            add_action( 'admin_bar_menu', 'wp_admin_bar_comments_menu', 170 );
            add_action( 'admin_bar_menu', 'wp_admin_bar_appearance_menu', 40 );
        }
    }
    add_action( 'admin_bar_menu', 'reorder_admin_bar_items', 20 );
    

    Добавить один элемент и элемент подменю

    Вы также можете использовать add_admin_bar_menus хук для добавления элементов в панель администратора.

    function parent_menu_item() 
        {
            global $wp_admin_bar;
    
            // Parent
            $wp_admin_bar->add_menu( 
                array( 
                     'id'       => 'parent_id_name'
                    ,'title'    => __( 'Parent Title', 'your_textdomain' )
                    ,'href'     => '#'
                ) 
            );
                // Link to dev mode admin page
                $wp_admin_bar->add_menu( 
                    array( 
                         'parent'   => 'parent_id_name'
                        ,'id'           => 'child_id_name'
                        ,'title'    => __( 'Child title', 'your_textdomain' )
                        ,'href'     => '#'
                    ) 
                );
        }
        add_action( 'add_admin_bar_menus', 'parent_menu_item', 10 );
    

    Я не могу придумать, как сделать это руководство более полным, но любой может свободно редактировать мой ответ и добавлять все, что может быть полезно.

    • 0
  3. Невозможно «переместить» — вы должны снять элемент и добавить новый в свою структуру в панели администратора. См. ссылку из ответа на комментарий Rays.

    • 0

Оставить ответ

You must login to add an answer.