Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics

Messages: 948

Enregistré le: 18 Juin 2008

Message le Jeu Mai 04, 2017 14:31

Bonjour,
j'ai créé un post type avec ACF sur wordpress, tout fonctionne à la merveille sauf l'affichage de la taxonomy, voici le code de ma page taxonomy-categorymachine.php :
Code: Tout sélectionner

$loop = new WP_Query( array( 'post_type' => 'machine' ) );
while ( $loop->have_posts() ) : $loop->the_post();
?>



<div id="listemachine">
<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"><h2><?php the_title(); ?></h2></a>
</div>
<?php
endwhile;



Le code fonctionne mais au lieu d'afficher seulement les articles de la taxonomy ouverte il affiche les articles de toutes les taxonomy !

Avez vous une idée ?

Merci
Haut
4 Réponses
Messages: 12198

Enregistré le: 23 Nov 2005

Message le Jeu Mai 04, 2017 15:09

ACF, c'est pas juste pour les custom field ? perso, je ne passe pas par un plugin pour ça, pour des raisons de performances (ces plugins sont très gourmands), j'instancie mes custom post type, mes custom taxo, etc depuis functions.php.
Haut
Messages: 948

Enregistré le: 18 Juin 2008

Message le Jeu Mai 04, 2017 21:23

Voici le code que j'utilise dans function.php :

Code: Tout sélectionner
add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type( 'machine',
    array(
      'labels' => array(
        'name' => __( 'Machine' ),
      'add_new_item' => 'AJOUTER UNE Machine',
      'edit_item' => 'MODIFIER machine',
      'new_item' => 'AJOUTER NOUVEL machine',
        'singular_name' => __( 'Machine' )
      ),
      'public' => true
    )
  );
register_taxonomy( 'categorymachine', 'machine', array( 'hierarchical' => true, 'label' => 'Category machine', 'query_var' => true, 'rewrite' => true ) );
}
Haut
Messages: 12198

Enregistré le: 23 Nov 2005

Message le Jeu Mai 04, 2017 21:36

Perso dans le template je structure plus mes requêtes ainsi :

Code: Tout sélectionner
$query_annonces = new WP_Query( array('post_type' => array('actualite','annonce','manifestation','commerce-vampiral','interview'),'posts_per_page' => 2));
while ($query_annonces->have_posts()) : $query_annonces->the_post();


Et pour les register de CPT :

Code: Tout sélectionner
function custom_post_type() {
   //Actualite
   $labels = array(
      'name'                  => _x( 'Actualités', 'Post Type General Name'),
      'singular_name'         => _x( 'Actualité', 'Post Type Singular Name'),
      'menu_name'             => __( 'Actualité' ),
      'name_admin_bar'        => __( 'Actualité' ),
      'archives'              => __( 'Item Archives' ),
      'attributes'            => __( 'Item Attributes' ),
      'parent_item_colon'     => __( 'Parent Item:' ),
      'all_items'             => __( 'All Items' ),
      'add_new_item'          => __( 'Add New Item' ),
      'add_new'               => __( 'Add New' ),
      'new_item'              => __( 'New Item' ),
      'edit_item'             => __( 'Edit Item' ),
      'update_item'           => __( 'Update Item' ),
      'view_item'             => __( 'View Item' ),
      'view_items'            => __( 'View Items' ),
      'search_items'          => __( 'Search Item' ),
      'not_found'             => __( 'Not found' ),
      'not_found_in_trash'    => __( 'Not found in Trash' ),
      'featured_image'        => __( 'Featured Image' ),
      'set_featured_image'    => __( 'Set featured image' ),
      'remove_featured_image' => __( 'Remove featured image' ),
      'use_featured_image'    => __( 'Use as featured image' ),
      'insert_into_item'      => __( 'Insert into item' ),
      'uploaded_to_this_item' => __( 'Uploaded to this item' ),
      'items_list'            => __( 'Items list' ),
      'items_list_navigation' => __( 'Items list navigation' ),
      'filter_items_list'     => __( 'Filter items list' ),
   );
   $rewrite = array(
      'slug'                  => 'actualite',
      'with_front'            => true,
      'pages'                 => true,
      'feeds'                 => true,
   );
   $args = array(
      'label'                 => __( 'Actualité' ),
      'description'           => __( 'Actualité' ),
      'labels'                => $labels,
      'supports'              => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', 'page-attributes', 'post-formats', ),
      'taxonomies'            => array( 'category','production','annee','auteur'),
      'hierarchical'          => false,
      'public'                => true,
      'show_ui'               => true,
      'show_in_menu'          => true,
      'menu_position'         => 5,
      'show_in_admin_bar'     => true,
      'show_in_nav_menus'     => true,
      'can_export'            => true,
      'has_archive'           => true,      
      'exclude_from_search'   => false,
      'publicly_queryable'    => true,
      'rewrite'               => $rewrite,
      'capability_type'       => 'post',
   );
   register_post_type( 'actualite', $args );
   
}
add_action( 'init', 'custom_post_type', 0 );
Haut
Messages: 948

Enregistré le: 18 Juin 2008

Message le Jeu Mai 04, 2017 23:48

C'est bizarre que mon code ne fonctionne pas, quelqu'un a une réponse ?
Haut

Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.