Filtrer les publications par taxonomie personnalisée dans l’administration

Si vous avez beaucoup de publications sur votre site WordPress, vous avez probablement utilisé les filtres Catégorie et/ou Balise en haut de la page de liste de publications. Ces filtres sont formidables car ils vous permettent très rapidement de limiter le type de messages affichés et de trouver celui(s) que vous recherchez avec une relative facilité. Eh bien, si vous utilisez des types de publication personnalisés ou des taxonomies personnalisées, vous avez probablement remarqué que ces options ne sont pas disponibles. Je vais donc vous montrer comment ajouter de nouveaux filtres pour vos taxonomies personnalisées à tout type de publication personnalisé que vous avez enregistré sur votre site.

Le processus est assez simple, dans le sens où il ne nécessite pas beaucoup de code et WordPress fait la majeure partie du travail à votre place, mais la fonction elle-même est un peu complexe. Ce que nous allons faire est de configurer une fonction qui crée un menu de sélection déroulant basé sur les termes des taxonomies que nous proposons. Ainsi, si nous définissons la fonction pour afficher un filtre pour la taxonomie « genres », elle récupérera une liste de tous les termes de cette taxonomie (tous les termes qui ne sont pas vides), puis affichera chacun de ces termes en option dans le menu déroulant. Si nous fournissons plusieurs taxonomies, via un tableau, alors la fonction créera une liste déroulante pour chaque ensemble de termes de taxonomie.

<?php
function pippin_add_taxonomy_filters() {
	global $typenow;
 
	// an array of all the taxonomyies you want to display. Use the taxonomy name or slug
	$taxonomies = array('faq_topics');
 
	// must set this to the post type you want the filter(s) displayed on
	if( $typenow == 'faqs' ){
 
		foreach ($taxonomies as $tax_slug) {
			$tax_obj = get_taxonomy($tax_slug);
			$tax_name = $tax_obj->labels->name;
			$terms = get_terms($tax_slug);
			if(count($terms) > 0) {
				echo "<select name='$tax_slug' id='$tax_slug' class='postform'>";
				echo "<option value=''>Show All $tax_name</option>";
				foreach ($terms as $term) { 
					echo '<option value='. $term->slug, $_GET[$tax_slug] == $term->slug ? ' selected="selected"' : '','>' . $term->name .' (' . $term->count .')</option>'; 
				}
				echo "</select>";
			}
		}
	}
}
add_action( 'restrict_manage_posts', 'pippin_add_taxonomy_filters' );

La fonction est ensuite transmise via le hook d’action « restrict_manage_posts » afin que les menus de sélection soient affichés dans la page de liste de publications.

Si tout a fonctionné correctement, vous devriez voir quelque chose comme ceci :

Notez que dans la fonction, il existe une vérification du type de publication actuel. Si vous ne définissez pas l’instruction conditionnelle $typenow sur le type de publication sur lequel vous souhaitez afficher le filtre, il s’affichera sur TOUTES les pages de type de publication, et comme tous vos types de publication ne peuvent pas avoir la taxonomie personnalisée, ce n’est généralement pas une bonne idée.

Modèle de widget WordPress simple

Simple widget qui accepte les options « titre » et « message ».

<?php 
/**
 * Exemple de classe de widget
 */ 
la classe example_widget étend WP_Widget {
 
 
    /** constructeur -- nommez-le de la même manière que la classe ci-dessus */ 
    function example_widget ( )  { 
        parent :: WP_Widget ( false ,  $name  =  'Example Text Widget' ) ; 	
    }
 
    /** @see WP_Widget::widget -- ne renommez pas ce */ 
    function widget ( $args ,  $instance )  { 	
        extract (  $args  ) ; 
        $title  		= apply_filters ( 'widget_title' ,  $instance [ 'title' ] ) ; 
        $message  	=  $instance [ 'message' ] ; 
        ?> 
              <?php  echo  $before_widget ;  ?> 
                  <?php  if  (  $title  ) 
                        echo  $before_title  .  $titre  .  $après_titre ;  ?>
							<ul>
								<li> <?php  echo  $message ;  ?> </li>
							</ul>
              <?php  echo  $after_widget ;  ?> 
        <?php 
    }
 
    /** @see WP_Widget::update -- ne renommez pas cette 
    fonction */ update ( $new_instance ,  $old_instance )  { 		
		$instance  =  $old_instance ; 
		$instance [ 'titre' ]  =  strip_tags ( $new_instance [ 'titre' ] ) ; 
		$instance [ 'message' ]  =  strip_tags ( $new_instance [ 'message' ] ) ; 
        retourner  $instance ; 
    }
 
    /** @see WP_Widget::form -- ne renommez pas ce */ 
    function form ( $instance )  {	
 
        $titre  		= esc_attr ( $instance [ 'titre' ] ) ; 
        $message 	= esc_attr ( $instance [ 'message' ] ) ; 
        ?>
         <p>
          <label for=" <?php  echo  $this -> get_field_id ( 'titre' ) ;  ?> "> <?php _e ( 'Titre :' ) ;  ?> </étiquette>
          <input class="widefat" id=" <?php  echo  $this -> get_field_id ( 'titre' ) ;  ?> " name=" <?php  echo  $this -> get_field_name ( 'titre' ) ;  ?> " type ="text" value=" <?php  echo  $title ;  ?> " />
        </p>
		<p>
          <label for=" <?php  echo  $this -> get_field_id ( 'message' ) ;  ?> "> <?php _e ( 'Simple Message' ) ;  ?> </étiquette>
          <input class="widefat" id=" <?php  echo  $this -> get_field_id ( 'message' ) ;  ?> " name=" <?php  echo  $this -> get_field_name ( 'message' ) ;  ?> " type ="text" value=" <?php  echo  $message ;  ?> " />
        </p>
        <?php  
    }
 
 
}  // fin de la classe example_widget 
add_action ( 'widgets_init' ,  create_function ( '' ,  'return register_widget("example_widget");' ) ) ; 
?>

Suppression de la Chaîne v=XXXX des URL WordPress pour Optimiser le Référencement

La présence de la chaîne v=XXXX dans les URL WordPress est une caractéristique du plugin WooCommerce, fréquemment utilisé par les sites de boutiques en ligne. Cette chaîne facilite le calcul automatique des taxes et des frais d’expédition en fonction de la localisation géographique des utilisateurs, tout en assurant la compatibilité avec les plugins de mise en cache WordPress tels que WP Super Cache ou W3 Total Cache.

Si votre site n’a pas besoin de calculs spécifiques basés sur la localisation, vous pouvez désactiver cette fonctionnalité de manière simple et efficace :

  1. Connectez-vous à votre interface d’administration WordPress.
  2. Accédez à WooCommerce » Paramètres.
  3. Dans l’onglet Général, trouvez l’option « Emplacement du client par défaut ».
  4. Remplacez l’option actuelle par « Aucun emplacement par défaut » ou « Pays/région de la boutique ».
  5. Cliquez sur « Enregistrer les modifications » pour sauvegarder vos paramètres.

N’oubliez pas de vider le cache WordPress si vous utilisez un plugin de mise en cache après avoir apporté ces modifications. La chaîne de géolocalisation devrait disparaître de vos URL WordPress.

Si vous souhaitez toujours utiliser la géolocalisation pour le calcul des frais d’expédition et des taxes sans afficher la chaîne v=XXXX dans les URL, sélectionnez simplement l’option « Géolocaliser » dans la liste déroulante « Emplacement du client par défaut ». Cependant, gardez à l’esprit que cette option peut ne pas être compatible avec certains plugins de mise en cache statique, et des informations incorrectes peuvent être affichées en raison d’une page précédemment mise en cache.

Il est essentiel de noter que l’exécution de WooCommerce sans mise en cache peut affecter la vitesse et les performances de votre site. Si la chaîne v=XXXX est nécessaire pour la géolocalisation, il peut être préférable de la conserver pour assurer le bon fonctionnement de votre boutique en ligne.

Comment utiliser la géolocalisation dans WooCommerce ?

Pour tirer parti de la géolocalisation dans WooCommerce, vous devez vous rendre dans la section WooCommerce » Paramètres » Général. À cet endroit, vous avez le choix entre « Géolocaliser » ou « Géolocaliser (avec prise en charge de la mise en cache des pages) » en sélectionnant l’option correspondante dans le menu déroulant « Emplacement du client par défaut ».

Le paramètre de localisation du client par défaut dans WooCommerce

Comment géolocaliser l’emplacement par défaut sans la chaîne d’URL

Optez éventuellement pour l’activation du paramètre « Géolocaliser » afin de calculer les frais d’expédition et les taxes en fonction de la localisation de vos clients. Cette démarche évitera l’affichage de la chaîne v=XXXX dans les URL de votre site WordPress. Il vous suffit de choisir l’option « Géolocaliser » dans le menu déroulant « Emplacement du client par défaut ».

Géolocaliser sans mise en cache

Foire aux Questions (FAQ) sur la Chaîne v=XXXX dans les URL WordPress

  1. Qu’est-ce que la chaîne v=XXXX dans WordPress ?La chaîne v=XXXX est générée par WooCommerce pour le calcul automatique des frais d’expédition et des taxes à l’échelle mondiale. Elle devient nécessaire lors de l’utilisation d’un plugin de mise en cache sur votre site WordPress.
  2. Comment utiliser la géolocalisation dans WooCommerce ?Pour utiliser la géolocalisation dans WooCommerce, accédez à WooCommerce » Paramètres » Général et choisissez « Géolocaliser » ou « Géolocaliser (avec prise en charge de la mise en cache des pages) » dans la liste déroulante « Emplacement du client par défaut ». Notez que sélectionner « Géolocaliser (avec prise en charge de la mise en cache des pages) » ajoutera la chaîne v=XXXX à vos URL WordPress. De plus, la sélection de « Géolocaliser » ne fonctionnera pas avec un plugin de mise en cache WordPress.
  3. Comment modifier mes permaliens WordPress ?Pour définir une structure de permaliens optimisée pour le référencement, accédez à Paramètres » Permaliens. Nous recommandons la plupart du temps de choisir le paramètre « Structure du nom de la publication » ou de créer une structure « Personnalisée ». Consultez notre guide sur les structures d’URL optimisées pour le référencement dans WordPress pour plus de détails.
  4. Comment puis-je supprimer la chaîne v=XXXX de mes URL WordPress ?Consultez notre article pour apprendre comment supprimer la chaîne v=XXXX de vos URL WordPress. Assurez-vous de suivre les étapes fournies pour ajuster les paramètres de géolocalisation dans WooCommerce selon vos besoins.
  5. Y a-t-il des erreurs WordPress courantes que je devrais connaître ?Explorez notre liste ultime des erreurs WordPress les plus courantes et découvrez comment les corriger pour maintenir la performance optimale de votre site.
  6. Quels sont les meilleurs plugins WooCommerce recommandés pour développer ma boutique en ligne ?Découvrez nos sélections d’experts pour les meilleurs plugins WooCommerce qui peuvent améliorer et étendre les fonctionnalités de votre boutique en ligne.

Pour des détails supplémentaires sur la configuration des plugins de mise en cache, consultez notre documentation ici.