Tout savoir sur WordPress

GeekPress, l’essentiel sur WordPress

Découvrez chaque semaine des tutos, des tests et des actualités de la communauté et des professionnels pour s'informer et progresser sur WordPress !

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.

Supprimer le choix des couleurs de thème de l’administration

Le 23 May 2012 par Jean-David classé

Cette astuce permet de supprimer le choix des couleurs de thème dans le profil utilisateur de l’administration.

Tutoriel WordPress

Ajouter la version jQuery de WordPress depuis le CDN de Google

Le 21 May 2012 par Julio P. classé

Cette astuce permet d’ajouter la version jQuery utilisé par WordPress à partir du CDN Google.

Tutoriel WordPress

Lier automatiquement avec un lien la miniature d’un article

Le 18 May 2012 par Jonathan B. classé

Cette astuce permet de modifier la sortie HTML de la fonction the_post_thumbnail() pour qu’elle retourne une image englober dans un lien hypertexte ramenant vers l’article.