it-swarm.com.de

WordPress Admin Bar Verschieben von Links

Gibt es eine Möglichkeit, die Verknüpfungen wie "Neue Darstellungskommentare hinzufügen" in ein Menü zu verschieben?

5
user4059

Aufheben

Hier ist ein Beispiel , wie der Kommentar-Link deaktiviert wird, wenn der Standardstatus "geschlossen" ist (bietet zwei verschiedene Ansätze).

/**
 * 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 );

Sie können remove_action-Aufrufe für eine der folgenden Optionen verwenden (/wp-includes/class.admin-bar.php - Zeile 182 - 192), um die Menüoptionen zu deaktivieren:

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 );

Set und neu bestellen

Fügen Sie Ihrer functions.php -Datei die folgenden Aufrufe hinzu: nach Deaktivieren der Elemente. Die Ganzzahl am Ende jedes add_action-Aufrufs ist die neue "Reihenfolge".

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 );

Fügen Sie ein einzelnes Element und ein Untermenüelement hinzu

Sie können auch den Haken add_admin_bar_menus verwenden, um Ihrer Administratorleiste Elemente hinzuzufügen.

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 );

Ich kann mir nicht vorstellen, wie ich diesen Leitfaden vervollständigen kann, aber jeder kann meine Antwort bearbeiten und alles hinzufügen, was nützlich sein könnte.

8
kaiser

"Verschieben" ist nicht möglich - Sie müssen das Element deaktivieren und Ihrer Struktur in der Admin-Leiste neues hinzufügen. Siehe den Link aus der Antwort auf Rays Kommentar.

1
bueltge