Tout savoir sur WordPress
Catégorie Tutos

Tutos WordPress

Toutes nos astuces et techniques pour ajouter des fonctionnalités très utiles à votre site à l’aide de petits bouts de codes HTML, CSS et PHP. Le meilleur endroit pour monter en compétences techniques !

Tutoriel WordPress

Rechercher des médias en fonction du titre de l’article attaché

Le 14 June 2012 par Julio P. classé

Cette astuce permet de rechercher dans l’espace d’administration des médias en fonction du titre de l’article auquel ils sont attachés.

Tutoriel WordPress

Ajouter un lien d’édition rapide vers le dernier article publié

Le 13 June 2012 par Julio P. classé

Ce tutoriel montre la démarche à suivre pour ajouter un lien vers le dernier article publié dans le menu d’administration de chaque custom post type.

Tutoriel WordPress

Faire flotter le menu de l’administration

Le 08 June 2012 par Julio P. classé

Cette astuce permet de garder le menu d’administration visible à tout moment. Cela évite différents scrolls pour retrouver un élément du menu.

Ajouter le code Google Analytics sur votre site WordPress

Le 02 June 2012 par jmlapam classé

Google Analytics est un outil indispensable pour connaître l’audience d’un site Internet. Découvrez comment l’insérer de façon simple sur votre site WordPress.

Afficher un message d’avertissement en fonction de l’âge d’un article

Le 01 June 2012 par Evil Fox classé

Découvrez la méthode à suivre pour afficher un message d’avertissement pour les articles susceptibles d’être trop vieux.

Tutoriel WordPress

Vérifier si une extension WordPress est activée

Le 29 May 2012 par Jonathan B. classé

Parfois, il peut être utile de savoir si une extension WordPress est activée ou non. Cela se fait très facilement à l’aide de la fonction is_plugin_active().

Rediriger vers l’article lorsque la recherche ne retourne qu’un résultat

Le 28 May 2012 par Jean-David classé

Cette astuce permet d’améliorer la navigation de votre site en redirigeant vers le seul article d’une recherche fructueuse.

Tutoriel WordPress

Ajouter un filtre par auteur dans l’administration

Le 27 May 2012 par Jonathan B. classé

Dans l’administration, WordPress propose de filtrer nos articles par date et catégorie, mais il manque encore la possibilité de trier par auteur.

Tutoriel WordPress

Interdire certains tags lors de la sauvegarde d’un article

Le 25 May 2012 par Julio P. classé

Si vous avez des contributeurs et des auteurs, vous avez peut-être envie d’empêcher ces personnes d’ajouter certains mots-clés. Cette astuce va vous permettre de régler ce problème.

Copier le code ci-dessous dans le fichier functions.php présent à la racine de votre thème :

[pastacode lang=”php” message=”” highlight=”” provider=”manual”]


add_action('admin_init', 'baw_remove_bad_tags' );
function baw_remove_bad_tags() {
	
    // est-on en train d'envoyer des tags ?
    if( isset( $_POST['tax_input'], $_POST['tax_input']['post_tag'] ) ) {
	
        // mots à interdire (casse non prise en compte)
        $bad_tags = array( 'motinterdit', 'autre mot' );
  
        // on filtre les tags envoyés
	$_POST['tax_input']['post_tag'] = trim( str_ireplace( $bad_tags, '', $_POST['tax_input']['post_tag'] ), ',' );
    }
}

[/pastacode]

Je n’utilise pas le hook save_post car les tags seraient déjà enregistrés, donc des requêtes auraient été lancées pour la création de ces tags, puis je devrais alors en refaire pour les supprimer … Pas très optimisé tout ça.

Je préfère tapper plus haut dans les hooks avec admin_init puis je vérifie si nous sommes en train d’envoyer des tags, alors je filtre le contenu de ces tags en supprimant ceux qui sont interdits.

BONUS : Créer un filtre de mauvais tags

Je vais ajouter un hook perso pour que des plugins (de votre création ?) puissent ajouter leurs propres mots, ou aussi pour permettre aux administrateurs d’avoir le droit d’ajouter ces mots interdits.

[pastacode lang=”php” message=”” highlight=”” provider=”manual”]


add_action('admin_init', 'baw_remove_bad_tags' );
function baw_remove_bad_tags() {
	
     // est-on en train d'envoyer des tags ?
     if( isset( $_POST['tax_input'], $_POST['tax_input']['post_tag'] ) ) {
	 
         // mots à interdire (casse non prise en compte) + hook 'bad_tags'
         $bad_tags = apply_filters( 'bad_tags', array( 'motinterdit', 'autre mot' ) );
         
         // on filtre les tags envoyés
         $_POST['tax_input']['post_tag'] = trim( str_ireplace( $bad_tags, '', $_POST['tax_input']['post_tag'] ), ',' );
    }
}

[/pastacode]

J’insère un apply_filters() avec le nom de nom choix (j’ai pris “bad_tags” arbitrairement).

L’exemple ci-dessous vous illustre comment on peut modifier le filtre bad_tags pour ajouter des mots interdits :
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]


add_filter('bad_tags', 'baw_add_bad_tag' );
function baw_add_bad_tag( $bad_tags ) {
    $bad_tags[] = 'nouveaumotinterdit';
    $bad_tags[] = 'undeuxiemenouveaumotinterdit';
    return $bad_tags;
}

[/pastacode]

Maintenant, on pousse l’exemple un peu plus loin afin que les admins puissent ajouter tous les tags et ainsi passer au travers de ce filtre :
[pastacode lang=”php” message=”” highlight=”” provider=”manual”]


add_action('admin_init', 'baw_allow_admin_bad_tags' );
function baw_allow_admin_bad_tags( $bad_tags ) {
    return current_user_can( 'administrator' ) ? array() : $bad_tags;
}

[/pastacode]

Il convient de vérifier que l’utilisateur courant a des droits d’admin. Si tel est le cas, il faut retourner un tableau vide et aucun tags ne sera interdit. A défaut, il est nécessaire de renvoyer les tags comme ils m’ont été donnés.

Bon codage, merci de m’avoir lu une fois de plus :)

Tutoriel WordPress

Afficher une description (slogan) de votre site au hasard

Le 24 May 2012 par Julio P. classé

Cette astuce permet de définir plusieurs description de votre site et d’en afficher une aléatoirement.