WordPress : Comment modifier le contenu du Widget “Meta” ?

wordpressMise à jour du 1°mars 2016 : J’avais écrit cet article à l’époque de la version 2.3  et une contribution récente en commentaire me pousse à le remettre à jour.

Tout d’abord une précision sur la méthode présentée : Il s’agit d’un “hack” de votre thème via une modification de son  fichier “functions.php”. A ce titre il faudra la recommencer à chaque mise à jour de ce dernier.

Pour voir le détail de la méthode proposée par Jean Faure : http://guy.pastre.org/?p=157#comment-70217

Si comme moi vous gérez vos flux par par Feedburner, se pose alors la question de supprimer les liens proposés par le widget meta dont le contenu n’est pas modifiable via l’administration du blog..

  1. Via votre FTP éditer le fichier widget.php qui se trouve à la racine du répertoire wp-includes
  2. Faites-en une copie avant de le modifier (petite précaution qui ne mange pas de pain…)
  3. Dans le document vers la ligne 468 vous devez trouver le début du code du widget meta:
    - Function wp_widget_meta($args) {
        extract($args);
        $options = get_option('widget_meta');
        $title = empty($options['title']) ? __('Meta') [...]
  4. Quelques lignes plus bas (478 et 479) vous trouverez les 2 entrées qui nous intéressent :
    <li><a href="<?php bloginfo('rss2_url'); ?> [...]
    <li><a href="<?php bloginfo('comments_rss2_url');[...]
  5. Il vous suffit de les commenter avec les balises html
    <!--<li><a href="<?php bloginfo('rss2_url'); ?>[...]-->
    <!--<li><a href="<?php bloginfo('comments_rss2_url');[...]-->
  6. Enregistrez et le tour est joué. Soit dit en passant que vous aussi remplacer ces liens par d’autres si vous le souhaitez!

11 réponses

  1. burningHat dit :

    Bonne astuce dans le fond… Dans le forme, je te conseille plutôt de suivre la voie recommandée par WordPress pour modifier les widgets originaux, à savoir les “surcharger” dans le fichier functions.php de ton thème. (autopromo => j’avais écris un article au sujet de cette méthode http://blog.burninghat.net/2007/06/09/wordpress-22-modifier-les-widgets-originaux/)

    Avantages de la méthode:
    – pas de risque de “fusiller” son blog lors d’une erreur de manip
    – pas besoin de la refaire (ou de ré-uploader son fichier modifié) à chaque mise à jour de sa plateforme WordPress vu que c’est lié au thème et non au “core” du système

  2. Guy PASTRE dit :

    Merci du conseil.
    Comme toujours en informatique, tout les chemins mènent à Rome, et c’est toujours bon d’avoir des avis éclairés…
    Je vais donc tester la méthode de modification du fichier fonction.php.

  3. burningHat dit :

    Yop, de rien pour le tuyau 😉 Amuse-toi bien avec le fichier functions.php, y a vraiment de quoi tuner en finesse son thème.

  4. AlphaK dit :

    On peut aussi simplement ajouter quelques entrées dans le CSS du thème. Par exemple dans ton cas, utiliser le sélecteur d’attribut (car les balises li n’ont pas d’id dans le widget meta) et surcharger avec un style display:none

  5. leelouw dit :

    je souhaiterais mettre log out: en “connecter”, comment faire?

    Merci de votre aide 😉

  6. thvi dit :

    Qu’est ce qui se passe lorsqu’on le met à jour ? Il faut se retaper ces lignes ?

  7. Jean Faure dit :

    Bonsoir,
    Ne pas toucher aux fichiers, ne pas toucher au core de WordPress, à chaque mise à jour, tout sera écrasé, tout va revenir normalement.
    Utiliser un plugin à la place
    https://wordpress.org/plugins/tabbed-login/
    https://wordpress.org/plugins/login-logout/
    https://wordpress.org/plugins/sidebar-login/

    • Guy PASTRE dit :

      Bonsoir, oui effectivement vous avez complètement raison. A l’époque les widgets n’étaient pas légion tout comme les mises à jour automatique…

  8. Jean Faure dit :

    Bonjour,
    Peut être qu’il serait bien d’informer le lecteur que c’est un hack et qu’il doit le refaire après chaque mise à jour, si on veut juste connexion et déconnexion, voilà le bon code pour functions.php
    Déjà désactiver widget_meta
    //* Remove the default WordPress WP_Widget_Meta
    function remove_meta_widget() {
    unregister_widget('WP_Widget_Meta');
    register_widget('Custom_WP_Widget_Meta');
    }

    add_action( 'widgets_init', 'remove_meta_widget' );
    puis le code juste pour avoir connexion et déconnexion
    /**
    * Custom Meta widget class
    *
    * Displays RSS feed links, etc.
    *
    * @since 2.8.0
    */
    class Custom_WP_Widget_Meta extends WP_Widget {

    public function __construct() {
    $widget_ops = array('classname' => 'widget_meta', 'description' => __( "RSS feed links.") );
    parent::__construct('meta', __('Meta'), $widget_ops);
    }

    public function widget( $args, $instance ) {

    /** This filter is documented in wp-includes/default-widgets.php */
    $title = apply_filters( 'widget_title', empty($instance['title']) ? __( 'Meta' ) : $instance['title'], $instance, $this->id_base );

    echo $args['before_widget'];
    if ( $title ) {
    echo $args['before_title'] . $title . $args['after_title'];
    }
    ?>

    '' ) );
    $title = strip_tags($instance['title']);
    ?>
    <label for="get_field_id('title'); ?>"> <input class="widefat" id="get_field_id('title'); ?>" name="get_field_name('title'); ?>" type="text" value="" />
    <?php
    }
    }

    // Register Custom_WP_Widget_Meta widget
    add_action( 'widgets_init', function() {
    register_widget( 'Custom_WP_Widget_Meta' );
    } );

  1. 22 mars 2008

    […] La gestion des flux RSS se fait par Feedburner qui permet une gestion plus fine des flux. Là aussi, une inscription est obligatoire. Une fois l’inscription réalisée et le paramètrage du compte effectué, il suffit de copier-coller le code obtenu dans un nouveau widget texte et on a ainsi l’affichage comme sur le blog. Pour ceux qui affichent le widget “Meta” (ici, “connecting”), il faudra penser à supprimer les liens rss qui se trouvent intégrés d’office. Pour cela, suivre ce lien. […]

Laisser un commentaire

%d blogueurs aiment cette page :