WordPress : Interroger le type de publication personnalisé et afficher son contenu
Je suis un débutant dans le développement de thèmes wp et j’ai du mal à montrer mon cpt.
J’ai ajouté un nouveau cpt dans mon fichier functions.php :
// Creates Testimonials Custom Post Type
function testimonials_init() {
$args = array(
'label' => 'Testimonials',
'public' => true,
'show_ui' => true,
'capability_type' => 'post',
'hierarchical' => false,
'rewrite' => array('slug' => 'testimonials'),
'query_var' => true,
'menu_icon' => 'dashicons-format-quote',
'supports' => array(
'title',
'editor',
'excerpt',
'trackbacks',
'custom-fields',
'comments',
'revisions',
'thumbnail',
'author',
'page-attributes',)
);
register_post_type( 'testimonials', $args );
}
add_action( 'init', 'testimonials_init' );
Et j’ai créé un nouveau modèle de page et ajouté ce code :
<?php
/*
* Template Name: Testimonials
*/
?>
<?php get_header(); ?>
<div class="container">
<div class="content-page">
<h1><?php wp_title(); ?></h1>
<title><?php wp_title(); ?></title>
<?php
$query = new WP_Query( array('post_type' => 'testimonials', 'posts_per_page' => 5 ) );
while ( $query->have_posts() ) : $query->the_post(); ?>
<?php endwhile; ?>
</div>
</div>
<?php
$args = array( 'post_type' => 'testimonials', 'posts_per_page' => 10 );
$the_query = new WP_Query( $args );
?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<div class="entry-content">
<?php the_content(); ?>
</div>
<?php wp_reset_postdata(); ?>
<?php else: ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>
<?php get_footer(); ?>
Je veux que ma page affiche tous les témoignages sur le front-end et je ne peux pas le faire et j’obtiens cette erreur :
Parse error: syntax error, unexpected 'else' (T_ELSE)
Merci les gars!!!
Solution n°1 trouvée
Vous ne fermez pas la deuxième boucle while. Vous voudrez probablement quelque chose comme ceci :
<?php
/*
* Template Name: Testimonials
*/
?>
<?php get_header(); ?>
<div class="container">
<div class="content-page">
<h1><?php wp_title(); ?></h1>
<title><?php wp_title(); ?></title>
<?php
$query = new WP_Query( array('post_type' => 'testimonials', 'posts_per_page' => 5 ) );
while ( $query->have_posts() ) : $query->the_post(); ?>
<?php endwhile; ?>
</div>
</div>
<?php
$args = array( 'post_type' => 'testimonials', 'posts_per_page' => 10 );
$the_query = new WP_Query( $args );
?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<h2><?php the_title(); ?></h2>
<div class="entry-content">
<?php the_content(); ?>
</div>
<?php endwhile; ?>
<?php else: ?>
<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
<?php get_footer(); ?>
0 commentaire