Comment déplacer wordpress ‘admin_bar_menu’ vers un autre emplacement dans le thème

Publié par Jean-Michel le

entrez la description de l'image ici

Comment déplacer ou créer un ‘admin_bar_menu’ personnalisé ? Serait-ce avec des crochets? Où placer le code, etc. Je suis débutant en PHP. Merci. Faites-moi savoir si besoin de plus de détails et je mettrai à jour cela.

<div class="td-header-sp-top-menu">
    <?php
// show the weather if needed
if (td_util::get_option('tds_weather_top_menu') == 'show') {
    $atts['w_location'] = td_util::get_option('tds_weather_location_top_menu');
    $atts['w_units'] = td_util::get_option('tds_weather_units_top_menu');
    // render the weather
    echo td_weather::render_generic($atts, 'td_top_weather_uid', 'top_bar_template');
}

    // show the date and time if needed
if (td_util::get_option('tds_data_top_menu') == 'show') {
    $tds_data_time = td_util::get_option('tds_data_time_format');
    if ($tds_data_time == '') {
        $tds_data_time = 'l, F j, Y';
    }
    // if the js date is enabled hide the default one
    $td_date_visibility = '';
    if (td_util::get_option('tds_data_js') == 'true') {
        $td_date_visibility = 'style="visibility:hidden;"';
    }
    ?>
    <div class="td_data_time">
        <div <?php echo $td_date_visibility ?>>

            <?php echo date_i18n(stripslashes($tds_data_time)); ?>

        </div>
    </div>
<?php
}

   //show login widget
if (td_util::get_option('tds_login_sign_in_widget') == 'show') {
    //test if user is logd in or not
    if ( is_user_logged_in() ) {
        //get current logd in user data
        global $current_user;

        //<span class="td-sp-ico-logout"></span>
        echo '<ul class="top-header-menu td_ul_logout">
                    <li class="menu-item">' .
                        get_avatar($current_user->ID, 20) . '<a href="' . get_author_posts_url($current_user->ID) . '" class="td_user_logd_in">' . $current_user->display_name . '</a>' .
                    '</li>
                    <li class="menu-item">
                        <a href="' . wp_logout_url(home_url( '/' )) . '"><i class="td-icon-logout"></i>' . __td('Logout', TD_THEME_NAME) . '</a>
                    </li>
             </ul>';
    } else {

        echo '<ul class="top-header-menu td_ul_login"><li class="menu-item"><a class="td-login-modal-js menu-item" href="#login-form" data-effect="mpf-td-login-effect">' . __td('Sign in / Join', TD_THEME_NAME) . '</a><span class="td-sp-ico-login td_sp_login_ico_style"></span></li></ul>';
    }
}//end login window

if (td_util::get_option('tds_top_menu') != 'hide') {
//shows top menu
wp_nav_menu(array(
    'theme_location' => 'top-menu',
    'menu_class' => 'top-header-menu',
    'fallback_cb' => 'td_wp_top_menu',
    'container_class' => 'menu-top-container'
));

//if no top menu is set show link to create new menu
function td_wp_top_menu()
{
    echo '<ul class="top-header-menu">';
    echo '<li class="menu-item-first"><a href="' . esc_url(home_url('/')) . 'wp-admin/nav-menus.php?action=locations">Click here - to select or create a menu</a></li>';
    echo '</ul>';
}

}

?>
</div>

L’objectif est donc de déplacer cette liste déroulante du menu d’administration dans le menu supérieur de mon thème.

Solution n°1 trouvée

Dans ma dernière version de WordPress (4.7.5) l’emplacement du menu est défini par :

#wpadminbar .ab-top-secondary {
    float: right;
}

qui si vous changez pour:

#wpadminbar .ab-top-secondary {
    float: left;
}

vous obtiendrez ce dont vous avez besoin.

Vous pouvez le faire en ajoutant à votre wp-content/themes/yourtheme/functions.phpfichier ces lignes :

add_action('admin_head', 'my_custom_layout');
function my_custom_layout() {
    echo '<style>
    #wpadminbar .ab-top-secondary {
        float: left;
    }
    </style>';
}

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *