Dans ce tutoriel je vais vous expliquer comment insérer une bio d’auteur sur WordPress (un article) sans plugin et gratuitement. Les avantages de cette méthode sont :

  • Pas besoin d’installer un nouveau plugin.
  • Gratuit.
  • Consistant et sans mises à jour (ce n’est pas non plus une vérité absolue mais il se passera probablement beaucoup de choses avant que ce soit un problème).
  • Vous êtes autonome.

C’est tentant de chercher un plugin sur Google pour son site réalisé avec le CMS WordPress. Il y en a tellement qu’on trouve quasiment toujours son bonheur et gratuitement en plus. Seulement des fois on ne trouve pas ce que l’on cherche. Soit trop amateur, soit pas assez mis à jour, soit trop compliqué pour l’utilité réelle de notre cas, soit payant…

J’avais fait le tour des plugins pour installer une bio d’auteur sur WordPress, mais je n’ai rien trouvé de satisfaisant pour mon blog. Je cherchais quelque chose d’épuré, simple et propre. Pour un bout de code, ça ne pouvait pas être si compliqué, donc j’ai fait une recherche sur le Codex de WordPress et finalement j’ai même trouvé un article qui explique exactement comment faire (anglais). Je ne prends que le meilleur pour l’expliquer plus en détail et rajouter également quelques astuces CSS pour donner un aspect propre avec votre feuille de style.

1. S’assurer que notre thème est en Child.

Nous allons modifier un fichier php. Pour cela il faut d’abord s’assurer que le thème de notre site WordPress est en mode « Child », c’est à dire, qu’il est un sous-thème rattaché au principal. Cela permet de modifier les sources du thème sans danger pour l’intégrité de votre site, et de mettre à jour votre thème sans écraser les customisations faites par vous.

Comment insérer une bio d'auteur sur WordPress sans plugin
Exemple de thème parent et de thème child dans le back office de WordPress

2. Télécharger le fichier original single.php

On se connecte sur notre serveur pour télécharger le fichier single.php qui se trouve dans le répertoire principal du thème parent de notre site. Il est facile de le faire avec un logiciel de FTP. Filezilla est très connu, mon préféré est WinSCP :

Nous récupérons le fichier single.php localisé dans le thème original sur le serveur.
Nous récupérons le fichier single.php localisé dans le thème original sur le serveur.

Quand vous l’avez localisé, téléchargez-le sur votre ordinateur. Il s’agit d’une opération simple mais il faut faire très attention à bien la réaliser !

3. Éditer le fichier single.php en local

On ouvre ensuite un logiciel d’édition de fichiers comme NotePad++ sous Windows, gratuit et open source. Mon choix personnel est celui de FlashDevelop, qui est aussi gratuit et open source.

Nous allons chercher la partie du fichier single.php qui nous intéresse. Typiquement, il faudra que ce soit après le contenu de l’article mais avant les commentaires. Voici un exemple de la fin d’un fichier single.php appartenant à un thème parent :

  <section id="content" role="main">
    <div class="container">
      <?php if ($heading_title && get_the_title()) : ?>
      <h2 class="page-title"><?php the_title(); ?></h2>
      <?php endif;
      if (is_attachment() && wp_attachment_is_image($post->id)) { ?>
        <div class="featured-image"><figure class="wp-caption"><?php echo wp_get_attachment_image($post->id, "full"); ?></figure></div>
      <?php
      } else {
        the_content();
        wp_link_pages();
      }
      if ( ! post_password_required() ) : ?>
      <div class="sep before-post-meta-info"></div>
      <p class="post-meta-info">
        <span><em class="icon-clock"></em> <?php _e('Posted on', 'mag'); echo ' ' . get_the_time(get_option('date_format')); ?></span>
        <span><em class="icon-user"></em> <?php _e('By', 'mag'); ?> <?php the_author_posts_link(); ?></span>
        <?php $post_categories = get_the_category_list(__(', ', 'mag')); if ( is_single() && $post_categories ) : ?> <br>
          <span><em class="icon-category"></em> <?php _e('Categories: ', 'mag'); ?> <?php echo $post_categories; ?></span>
          <?php endif; ?><?php if ( is_single() && get_the_tags() ) : ?> <?php if ( ! $post_categories) echo '<br>'; ?>
          <span><em class="icon-tag"></em> <?php the_tags(__('Tags: ', 'mag'), __(', ', 'mag')); ?></span><?php endif; ?></p>
      <?php comments_template(); ?>
      <?php endif; ?>
    </div>
  </section>

<?php endif;

get_footer();

Votre fichier single.php ne sera pas exactement pareil, ça dépendra de votre thème. Mais vous pouvez trouver facilement l’endroit logique où coller le nouveau code, tout en veillant à ne pas casser le code existant (faire attention à cette opération).

Dans le code que je vous présente ci-dessus, je vous montre la partie qui nous intéresse avec l’endroit où nous allons copier le nouveau code (ligne 8) :

<p class="post-meta-info">
  <span><em class="icon-clock"></em> <?php _e('Posted on', 'mag'); echo ' ' . get_the_time(get_option('date_format')); ?></span>
  <span><em class="icon-user"></em> <?php _e('By', 'mag'); ?> <?php the_author_posts_link(); ?></span>
  <?php $post_categories = get_the_category_list(__(', ', 'mag')); if ( is_single() && $post_categories ) : ?> <br>
    <span><em class="icon-category"></em> <?php _e('Categories: ', 'mag'); ?> <?php echo $post_categories; ?></span>
    <?php endif; ?><?php if ( is_single() && get_the_tags() ) : ?> <?php if ( ! $post_categories) echo '<br>'; ?>
    <span><em class="icon-tag"></em> <?php the_tags(__('Tags: ', 'mag'), __(', ', 'mag')); ?></span><?php endif; ?></p>
COLLER LE CODE ICI
<?php comments_template(); ?>
<?php endif; ?>

 

J’ai identifié le <p class="post-meta-info"> dans la ligne 1 qui montre les infos de publication après le contenu. Il est fermé par le </p>. Après, le <?php comments_template(); ?> va afficher les commentaires de l’article. Je colle donc le code du bio de l’auteur dans la ligne 8.

Voici le code à copier et coller. Il est issu de cet article en anglais qui s’adresse à des utilisateurs de leur thème et je l’ai un peu simplifié :

<?php
    // Get Author Data
    $author             = get_the_author();
    $author_description = get_the_author_meta( 'description' );
    $author_url         = esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) );
    $author_avatar      = get_avatar( get_the_author_meta( 'user_email' ), 120 );
    // Only display if author has a description
    if ( $author_description ) : ?>                    
        <div class="author-info">
            <h4 class="heading"><span>Article rédigé par</span> <?php printf( __( '%s', 'text_domain' ), $author ); ?></h4>
            <div class="author-info-inner">
                <?php if ( $author_avatar ) { ?>
                    <div class="author-avatar">
                        <a href="<?php echo $author_url; ?>" rel="author">
                            <?php echo $author_avatar; ?>
                        </a>
                    </div><!-- .author-avatar -->
                <?php } ?>
                <div class="author-description">
                    <p><?php echo $author_description; ?></p>                                
                </div><!-- .author-description -->
            </div><!-- .author-info-inner -->
        </div><!-- .author-info -->
<?php endif; ?>

 

Le 120 correspond à la taille de l’avatar (120×120 pixels). Vous pouvez la changer si vous voulez. La taille par défaut est 96.

Le résultat final du code le suivant :

  <section id="content" role="main">
    <div class="container">
      <div class="modern-full col grid9" id="post-list-modern">	
      <?php if ($heading_title && get_the_title()) : ?>
      <h2 class="page-title"><?php the_title(); ?></h2>			
      <?php endif;
      if (is_attachment() && wp_attachment_is_image($post->id)) { ?>
        <div class="featured-image"><figure class="wp-caption"><?php echo wp_get_attachment_image($post->id, "full"); ?></figure></div>
      <?php
      } else {
        the_content();
        wp_link_pages();
      }
      if ( ! post_password_required() ) : ?>			
      <div class="sep before-post-meta-info"></div>
      <p class="post-meta-info">
        <span><em class="icon-clock"></em> <?php _e('Posted on', 'mag'); echo ' ' . get_the_time(get_option('date_format')); ?></span>
        <?php $post_categories = get_the_category_list(__(', ', 'mag')); if ( is_single() && $post_categories ) : ?> <br>
        <span><em class="icon-category"></em> <?php _e('Categories: ', 'mag'); ?> <?php echo $post_categories; ?></span><br><?php endif; ?><?php if ( is_single() && get_the_tags() ) : ?> <?php if ( ! $post_categories) echo '<br>'; ?>
        <span><em class="icon-tag"></em> <?php the_tags(__('Tags: ', 'mag'), __(', ', 'mag')); ?></span><?php endif; ?>
      </p>
      <?php
        // Get Author Data
        $author             = get_the_author();
        $author_description = get_the_author_meta( 'description' );
        $author_url         = esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) );
        $author_avatar      = get_avatar( get_the_author_meta( 'user_email' ), 120 );

        // Only display if author has a description
        if ( $author_description ) : ?>					
          <div class="author-info">
            <h4 class="heading"><span>Article rédigé par</span> <?php printf( __( '%s', 'text_domain' ), $author ); ?></h4>
            <div class="author-info-inner">
              <?php if ( $author_avatar ) { ?>
                <div class="author-avatar">
                  <a href="<?php echo $author_url; ?>" rel="author">
                    <?php echo $author_avatar; ?>
                  </a>
                </div><!-- .author-avatar -->
              <?php } ?>
              <div class="author-description">
                <p><?php echo $author_description; ?></p>								
              </div><!-- .author-description -->
            </div><!-- .author-info-inner -->
          </div><!-- .author-info -->
      <?php endif; ?>
      <?php comments_template(); ?>
      <?php endif; ?>
      </div>
      <?php get_sidebar(); ?>
    </div>
  </section>

<?php endif;

get_footer();

 

4. Éditer le fichier CSS

Nous avons le contenu, maintenant il faut travailler la forme. Pour cela, on ouvre le fichier CSS du thème.

Si vous n’avez pas un CSS dans le répertoire child de votre thème, copiez le nom du CSS principal dans le répertoire du thème et créez un nouveau fichier avec le même nom. Celui-ci sera placé dans le répertoire du child. Par exemple, si le CSS de votre thème s’appelle style.css et il se trouve dans le répertoire principal, vous allez créer un nouveau fichier style.css et le copier dans le repertoire child du thème parent, au même répertoire.

On copie le nom du fichier CSS principal du thème pour créer un nouveau où nous allons rajouter nos modifications.
On copie le nom du fichier CSS principal du thème pour créer un nouveau où nous allons rajouter nos modifications.
Au même endroit, mais dans le thème child, nous allons insérer notre CSS personnalisé (avec le même nom que dans le parent).
Au même endroit, mais dans le thème child, nous allons insérer notre CSS personnalisé (avec le même nom que dans le parent).

 

Les contenus du style.css du child ne remplaceront pas ceux du style.css du parent. Il se rajoutent en supplément et peuvent écraser l’original seulement si vous écrivez le CSS pour ce faire bien entendu.

Voici un style très simple pour bien habiller votre toute nouvelle bio d’auteur :

/** about the author **/

.author-info-inner {
  padding		: 20px;
  background-color	: #efefef;
}

.author-avatar {
  position		: absolute;
}

.author-description {
  margin-left		: 140px;
}

 

La petite touche responsive qui va bien (n’oubliez pas de mettre ce code à la fin ou à l’intégrer à l’existant !) :

@media (max-width: 370px) {  
  .author-avatar {
    position		: static;
    text-align		: center;
    margin-bottom	: 15px;
  }

  .author-description {
    margin-left		: 0;			
  }
  
  .author-info-inner  {
    padding		: 15px;
  }
  
}

 

5 . Mettre en ligne

C’est le moment de mettre en ligne. Il faut donc reprendre votre logiciel de FTP pour ce faire. Insérez vos nouveaux fichiers (single.php et style.css) dans le répertoire child . Attention, jamais le parent. Il est sacré !

Rafraichissez votre article de blog pour voir le résultat. Vous verrez votre bio d’auteur sur WordPress impeccable et élégante en fin de vos articles de blog.

6. Éditer l’utilisateur et créer un compte Gravatar

Dans le backoffice de WordPress, cliquez sur Utilisateurs > Modifier l’utilisateur, remplissez les champs Adresse de contact et Renseignements biographiques et enregistrez les changements.

Comment insérer une bio d’auteur sur WordPress sans plugin et gratuitement

Pour associer l’image de l’avatar, votre adresse email est nécessaire. Bizarre ? Oui, mais il y a une logique.

Créez un compte sur Gravatar. Ce service automatique de Worpdress.com associe votre image à votre adresse email de manière globale. Lorsque vous commentez dans un blog et que vous renseignez votre adresse email, votre image d’avatar sera automatiquement affichée. Si vous avez déjà un compte chez WordPress.com, ça ira encore plus vite.

Dans ce tutoriel je vous ai expliqué comment insérer manuellement dans votre thème child le code qui affichera la bio d’auteur en fin d’article. J’espère qu’il sera utile pour votre blog comme il l’a été pour le mien.

Et vous ?

Avez-vous d’autres astuces simples et efficaces comme celle-ci ? Avez-vous d’autres conseils de customisation de la bio d’auteur sur un article de blog de WordPress ?

Poster un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.