Afficher article sue autre page que single.php

Par macinsteph, il y a 11 ans


Bonjour,
Je développe un site sous wordpress et je souhaite savoir si il est possible d'afficher les articles dans une autre page que single .php.
C'est à dire une page avec un design différent.
merci

5 réponses

Grafikart, il y a 11 ans

Regarde tes logs tu dois avoir une erreur quelque part. Si tu as une page blanche c'est que tu as une erreur

macinsteph, il y a 11 ans

En fait je m'apperçois qu'il faut que je passe par les custom posts type, et pour cela j'ai suivis tes tutos par contre ce que je n'arrive pas à faire c'est de les afficher dans ma page accueil.
Voici le code de mon custom post type function :

<?php add_action( 'init', 'register_activites' ); function register_activites() { $labels = array( 'name' => 'Activité', 'singular_name' => 'Dernières Activité', 'menu_name' => 'Activité', 'name_admin_bar' => 'Activité', 'add_new' => 'Ajouter une Activité', 'add_new_item' => 'Ajouter une nouvelle Activité', 'new_item' => 'Nouvelle Activité', 'edit_item' => 'Editer une Activité', 'view_item' => 'Voir une Activité', 'all_items' => 'Toute les Activités', 'search_items' => 'Rechercher une Activité', 'parent_item_colon' => '', 'not_found' => '', 'not_found_in_trash' => '' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'activités' ), 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => 5, 'supports' => array( 'title', 'editor', 'author', 'thumbnail','custom-fields') ); register_post_type( 'activites', $args ); // Add new taxonomy, make it hierarchical (like categories) $labels = array( 'name' => 'Catégories', 'singular_name' => 'Catégorie', 'search_items' => 'rechercher une catégorie', 'all_items' => 'Tous les catégories', 'parent_item' => 'Catégorie parente', 'parent_item_colon' => 'Catégorie parente:', 'edit_item' => 'Editer une catégories', 'update_item' => 'Mettre à jour une catégorie', 'add_new_item' => 'Ajouter une catégorie', 'new_item_name' => 'Nouvelle catégotie', 'menu_name' => 'Catégorie', ); $args = array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'show_admin_column' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'categories' ), ); register_taxonomy( 'categorie', array( 'activites' ), $args ); } ?>

et mon code pour les afficher dans ma page accueil :

<?php $type = 'activites'; $args = array ( 'post_type' => $type, 'post_status' => 'publish', 'paged' => $paged, 'showposts' => 6, ); $wp_query = null; $wp_query = new WP_Query($args); if ( $wp_query->have_posts() ) : while ( $wp_query->have_posts() ) : $wp_query->the_post(); ?> <div class="post-offre"> <?php the_post_thumbnail('vignettes-posts'); ?> <p>Posté le <span><?php the_time('d F Y'); ?></span> Catégorie <span><?php echo get_the_category_list(', ') ?></span></p> <h3><?php the_title(); ?></h3> <?php the_content(); ?> <a class="more" href="<?php the_permalink(); ?>">Plus d'infos...</a> </div> <?php endif; wp_reset_postdata(); ?> <?php endwhile; ?>

depuis que j'ai mis ce code ma page est blanche !!!
Je ne comprends pas
merci

macinsteph, il y a 11 ans

Qu'entends tu par logs?

Alexandre, il y a 11 ans

Salut,

Tu peux faire simple, dans le single.php, tu mets des conditions, par exemple si l'article est dans la catégorie photos, on lui dit d'afficher le template single-photo.php. En gros, tu dupliques single.php du theme, tu le nomes single-default.php et dans le single.php, tu vires tout et tu mets les conditions.

Exemple basé sur les categories :

if ( in_category('1') ) { include(TEMPLATEPATH . '/single-article.php'); } elseif ( in_category('2') ) { include(TEMPLATEPATH . '/single-photo.php'); } else { include(TEMPLATEPATH . '/single-default.php'); }

Après, tu peux faire quelque chose de mieux, on peut imaginer ajouter un metabox type select avec une liste de template : simple, full page... du coup quand tu ajoutes un article, tu sélectionnes le template que tu veux pour l'article en question...

Alex