Tout savoir sur WordPress

Étiquette : Taxonomy

Tutoriel WordPress

Ajouter un filtre par catégorie dans l’administration

Le 13 October 2013 par Jonathan B. classé

Afin d’améliorer la gestion des articles dans l’administration de WordPress, découvrez comment ajouter un tri par catégorie/taxonomy.

Tutoriel WordPress

Eviter le duplicate content sur les archives des catégories

Le 22 October 2012 par Julio P. classé

Par défaut, WordPress contient un bug qui provoque du duplicate content sur les pages d’archives des catégories. Pourtant, il existe une solution simple pour éviter ce problème.

Mettre en place un filtre de recherche en fonction d’une catégorie ou d’un custom post type

Le 20 July 2012 par Rtransat classé

Cette astuce montre la démarche à suivre pour créer un formulaire de recherche avec un filtre par catégorie ou par Custom Post Type.

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 :)

Search By Category : Filtrer la recherche par catégorie

Le 30 January 2012 par Jonathan B. classé

Search By Category est une extension WordPress qui permet d’ajout un tri par catégorie dans le formulaire de recherche de WordPress.

Tutoriel WordPress

Ajouter un tri par catégorie à la recherche de WordPress

Le 24 January 2012 par Jonathan B. classé

Pour affiner les résultats, il peut être judicieux d’ajouter un tri par catégorie dans le formulaire de recherche sur WordPress.

Tutoriel WordPress

Autoriser l’ajout d’une catégorie pour les contributeurs

Le 23 January 2012 par Jonathan B. classé

Découvrez la démarche à suivre pour autoriser les contributeurs de votre site WordPress à ajouter des catégories lors de la rédaction de leurs articles.

CategoryTinymce : des descriptions avec un éditeur de texte

Le 09 January 2012 par Jonathan B. classé

Ce plugin WordPress permet d’ajouter un éditeur de texte pour la description des catégories.

Tutoriel WordPress

Ajouter une class CSS à la fonction the_tags

Le 14 December 2011 par Jonathan B. classé

En cas de besoin, il peut être utile d’ajouter une ou plusieurs class CSS à la fonction the_tags() de WordPress.

Tutoriel WordPress

Supprimer le préfixe “category” des structures URL des catégories

Le 24 October 2011 par Jonathan B. classé

L’astuce suivante permet de supprimer le préfixe “category” des URL de vos catégories. Ce préfixe est automatiquement ajouté par WordPress.