Quelle est la meilleure façon d’implémenter la modification de wp_get_archives sans toucher au noyau de wordpress ?

Publié par Jean-Michel le

J’ai commencé mon tout premier thème ou tout type de développement dans WordPress depuis hier pour mon blog, et après avoir terminé la plupart des choses de base, je cherchais à créer une page Archive. La sortie par défaut pour la page d’archive obtenue via la fonction wp_get_archives est the_title (du message).

Cependant, je voulais afficher les messages d’archives avec leur post_date respectif . Il semble que le format soit codé en dur dans general_template.php ( vraiment !! mais je suis nouveau dans la philosophie de conception de WordPress pour faire des remarques supplémentaires à ce sujet )

Je l’ai fait en modifiant directement le fichier general_template.php dans le répertoire wp-includes . J’ai changé les fonctions wp_get_archives & get_archives_link (les principaux changements de code sont…)

*wp_get_archives()
    ............
    $text = strip_tags( apply_filters( 'the_title', $result->post_title, $result->ID ) );
    $text .= "|||" . date('F j, Y', strtotime($result->post_date));

*get_archives_link()
    ............
    elseif ('withdate_ms' == $format) {
        $text_pieces = explode("|||", $text);
        $link_html = "t<li>$before<a href='$url'>{$text_pieces[0]}</a> &bull; {$text_pieces[1]} $after</li>n";
    }

Cela a atteint ce que je voulais faire. Mais, je ne pense PAS que ce soit une bonne pratique en essayant de modifier directement les fichiers wordpress de base (en particulier pour quelque chose d’aussi trivial). Je suis nouveau sur WP, mais je suppose qu’il doit y avoir un moyen WordPress d’y parvenir, c’est sûr. Comment pourrais-je procéder pour mettre en œuvre cette modification sans toucher au cœur ? Et cette approche fonctionnera-t-elle pour d’autres modifications apportées aux fonctionnalités de base (pour tout autre ensemble, si je dois changer à l’avenir) ?

Solution n°1 trouvée

Copiez-collez la wp_get_archives( )fonction dans le fichier de votre thème functions.php, puis renommez-la (pour éviter les conflits de nom de fonction) et utilisez cette fonction comme remplacement partout où vous utiliseriez normalement wp_get_archives( ).

Assurez-vous de copier la fonction entière et toutes les autres fonctions utilisées à l’intérieur de cette fonction devraient fonctionner correctement.

Une chose à noter, c’est que s’il y a de futures mises à jour de wp_get_archives( ), vous devrez soit intégrer ces modifications dans votre nouvelle fonction, soit vivre sans ces modifications, car les mises à jour n’auront aucun effet sur votre fonction.

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 *