Outils pour utilisateurs

Outils du site


webdev:wordpress:taxonomy

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
webdev:wordpress:taxonomy [23/11/2017 14:32] dolowebdev:wordpress:taxonomy [23/11/2017 15:57] (Version actuelle) – [Supprimer le slug d'un custom post type] dolo
Ligne 1: Ligne 1:
 +====== Wordpress's Taxonomy ======
 +===== Use custom content with native WP Taxonomy (hybrid) =====
 +<code linenums>
 +// Enregistrer une info custom dans un Term (ici 24)
 +wp_set_object_terms('24', 'gnark', 'service_technique_taxonomy', true);
  
 +// Récupérer les IDs renseignés pour un Term
 +$result = get_term_by( 'slug', 'test', 'service_technique_taxonomy' ); // return WP_Term object, pour l'ID
 +$result = get_objects_in_term( $result->term_id, 'service_technique_taxonomy' ); 
 +
 +// return les Terms sous ce Term dans la hiérarchie
 +$term_children = new WP_Term_Query();
 +$term_children = $term_children->query(array(
 + 'taxonomy' => array( 'service_technique_taxonomy' ),
 + 'hide_empty' => false,
 + 'parent' => $term->term_id,
 +));
 +
 +// Get the term from the custom ID
 +$result = wp_get_post_terms( '24', 'service_technique_taxonomy' );
 +
 +// Supprimer tous les liens entre un ID custom et les Terms
 +wp_delete_object_term_relationships( (int) $_GET['id'], 'service_technique_taxonomy');
 +</code>
 +
 +**Ne pas utiliser get_term_children() pour retrouver les enfants d'un Term car il renvoie aussi les enfants des enfants** (utiliser plutôt [[https://developer.wordpress.org/reference/classes/wp_term_query/|WP_Term_Query()]], [[https://developer.wordpress.org/reference/classes/wp_term_query/__construct/|arguments]])
 +<code linenums>
 +$result = get_term_children( $term_id, 'service_technique_taxonomy' ); 
 +</code>
 +
 +===== Supprimer le slug d'un custom post type =====
 +<code linenums>
 +$args = array(
 + 'rewrite' => array(
 + 'slug' => '/',
 + ),
 +);
 +register_post_type( 'nom-post-type', $args );
 +</code>