web-dev-qa-db-fra.com

wp_get_archives () - Récupère le sélecteur CSS pour le mois en cours

Je cherche comment obtenir une classe dans les fonctions wp_get_archives pour obtenir le mois en cours (lorsque nous sommes dans une archive de mois), tout comme lorsque nous appelons wp_list_categories, la catégorie en cours a un sélecteur ".current-cat" pour CSS ou Lorsque nous appelons wp_list_pages, nous avons un sélecteur '.current_page_item'.

2
Fredy31

Cette fonction a été créée avec l'aide de Josué Abénazer. Merci! Fondamentalement, s'il s'agit d'une archive mensuelle, allez voir le mois en cours et ajoutez une classe sur le li. A bien fonctionné.

function wpse_62509_current_month_selector( $link_html ) {
    if (is_month()){
        $current_month = get_the_date("F Y");
        if ( preg_match('/'.$current_month.'/i', $link_html ) )
            $link_html = preg_replace('/<li>/i', '<li class="current-month">', $link_html );
    }
    return $link_html;
}

add_filter( 'get_archives_link', 'wpse_62509_current_month_selector' );
3
Fredy31

Mettez la fonction suivante dans votre functions.php

function wpse_62509_current_month_selector( $link_html ) {
    $current_month = date("F Y");
    if ( preg_match('/'.$current_month.'/i', $link_html ) )
        $link_html = preg_replace('/<li>/i', '<li class="current-month">', $link_html );
    return $link_html;
}

Et puis ajoutez la ligne suivante juste avant d'appeler wp_get_archives()

add_filter( 'get_archives_link', 'wpse_62509_current_month_selector' );

Vous voudrez peut-être également supprimer le filtre après avoir appelé wp_get_archives() afin d'éviter tout problème avec d'autres appels de fonction wp_get_archives() ou get_archives_link().

remove_filter( 'get_archives_link', 'wpse_62509_current_month_selector' );
3
Joshua Abenazer