SpiraL
5/1/2018 - 2:06 PM

Snippet Utile

Bonjour , j'aurais besoin d'un petit coup de main , je voudrait que dans mon fichier single.php il y est une condition ,si la catégorie de l'article et = "Pronostic" ça affiche la single page dédié sinon ça affiche celui de base ,j'ai essayer plusieurs truc avec is_category( 'Pronostic' ) mais ça ne fonctionne pas mon problème c'est que j'ai du mal avec les conditions avec Wordpress , si quelqu'un peut m'aider ,merci , voici ce que j'ai fait mais ça ne fonctionne pas '''

        <main class="site-main" id="main">

            <?php while ( have_posts() ) : the_post(); ?>
        <?php
           if ( is_category( 'Pronostic' )  ) {
               get_template_part( 'loop-templates/content', 'bet_single' );
           }
           else {
               get_template_part( 'loop-templates/content', 'single' );
           }
           ?>
           
        <?php understrap_post_nav(); ?>
''' (modifié)

Réponse : foreach( get_the_category() as $category ) { if( 'pronostic' == $category->cat_name ) get_template_part( 'plip-et-plop', 'sont-dans-un-bateau' ) ; }

Manip à tester

//======================================================================== // Ajouter class img-fluid à toutes les images d'articles ... //================================================================

if (empty($content)) return '';

function add_responsive_class($content){

    $content = mb_convert_encoding($content, 'HTML-ENTITIES', "UTF-8");
    $document = new DOMDocument();
    libxml_use_internal_errors(true);
    $document->loadHTML(utf8_decode($content));

    $imgs = $document->getElementsByTagName('img');
    foreach ($imgs as $img) {           
       $img->setAttribute('class',' img-fluid');
    }

    $html = $document->saveHTML();
    return $html;   

}

add_filter('the_content', 'add_responsive_class');

Comment cacher des extensions de la liste des extensions sans les désactiver

Si vous faites des sites pour des clients et qu’ils ont la mauvaise habitude de mettre le bazar dans les plugins, la Marmite a une solution.

Aujourd’hui, nous allons voir comment masquer des extensions sur la page des extensions installées de l’administration avec un nouveau snippet.

D’une part, cela évitera qu’ils fassent des bêtises et de l’autre, cela leur simplifiera l’interface de l’administration.

Pas mal non ?

Ce snippet va nous aider à cacher simplement n’importe quel plugin parmi votre liste d’extension sans le désactiver. Pour cela, copiez-collez le code suivant dans le fichier functions.php de votre thème enfant:

// Ne pas afficher certains plugins actifs de la liste des plugins

add_filter( 'all_plugins', 'wpm_remove_plugin_entries' );

function wpm_remove_plugin_entries( $plugins ) {

    // Vous trouverez les liens php des plugins en passant la souris sur le lien "modifier" dans la liste de vos extensions WordPress

    // Ici je souhaite cacher les plugins Akismet et Event Calendar de ma liste de plugins 
    $hidden = array(
        'akismet/akismet.php',
        'calendar-event/index.php'
    );

    // Si on est sur la liste de tous nos plugins
    if ( isset( $_GET['showall'] ) && $_GET['showall'] == '1' ) {
        return $plugins;
    }

    // On supprime de la liste les plugins définis juste au-dessus
    foreach ( $hidden as $filename ) {
        unset( $plugins[ $filename ] );
    }
    return $plugins;
}

Dans ce snippet, vous voyez que les plugins sont désactivés grâce à leur chemin. Voyons comment les trouver pour les supprimer de la liste.

C’est très simple. Rendez-vous dans la liste de vos plugins et laissez la souris sur le lien « modifier » sous le plugin à cacher et regardez en bas de votre fenêtre le lien affiché :

Ma souris est sur le bouton « modifier » du plugin Calendar Event (non visible sur la capture d’écran). Maintenant regardez le lien affiché tout en bas de l’image dans l’encadré rouge, il va nous donner le

chemin à écrire dans le snippet.

Il faut donc recopier le chemin situé après file= , donc pour ce plugin calendar-event/index.php. Faites de même avec tous les plugins que vous désirez masquer.

Les plugins Akismet et Event Calendar ne sont maintenant plus affichés dans la liste, mais sont toujours actifs:

La fonction get_the_term_list retourne les termes associés à un contenu pour une taxonomie définie préalablement. Par défaut, le terme est lié à la page d'archive - comme pour les catégories. Comment faire pour supprimer le lien et n'afficher que le terme ?

N.B : Cette astuce fonctionne dans votre boucle WordPress et s’adresse à des utilisateurs avancés.

Il convient de rajouter un strip_tags devant la fonction get_the_term_list pour désactiver le lien. Voici la ligne de code qui en résulte :

<?php echo strip_tags( get_the_term_list($post->ID, 'type') ); ?>

Pour rappel, get_the_term_list nécessite de passer le paramètre indiquant à quelle taxonomie vous faites référence – dans l’exemple, il s’agit de la taxonomie type.

Une astuce à garder sous la main… qui vous économisera – je l’espère, le temps que j’ai perdu à trouver la solution.