WordPress avec le framework Genesis, comment modifier la sortie d’une page d’archive pour un type de contenu personnalisé ?

Publié par Jean-Michel le

J’ai une page d’archive pour un type de contenu personnalisé et je souhaite afficher l’un des champs personnalisés dans la liste des archives. Je ne sais pas quel crochet utiliser ou comment accéder aux variables dans le type de contenu personnalisé à afficher dans -archive.php. Quelqu’un peut-il m’aider avec les crochets pertinents ou comment accéder à ces variables de champ ?

Solution n°1 trouvée

Créez d’abord un fichier d’archive avec votre type de publication personnalisé, le nom du fichier doit ressembler à ceci archive-{post_type}.php

Passez par le code ci-dessous cela peut vous aider

<?php

remove_action ('genesis_loop', 'genesis_do_loop'); // Remove the standard loop
add_action( 'genesis_loop', 'custom_do_grid_loop' ); // Add custom loop
function custom_do_grid_loop() {

 // Intro Text (from page content)
 echo '<div class="page hentry entry">';
 echo '<h1 class="entry-title">'. get_the_title() .'</h1>';
 echo '<div class="entry-content">' . get_the_content() ;
 $args = array(
 'post_type' => 'custom post type', // enter your custom post type
 'orderby' => 'menu_order',
 'order' => 'ASC',
 'posts_per_page'=> '12', // overrides posts per page in theme settings
 );
 $loop = new WP_Query( $args );
 if( $loop->have_posts() ):

 while( $loop->have_posts() ): $loop->the_post(); global $post;
 echo '<div id="testimonials">';
 echo '<div class="one-fourth first">';
 echo '<div class="quote-obtuse"><div class="pic">'. get_the_post_thumbnail( $id, array(150,150) ).'</div></div>';
 echo '<div style="margin-top:20px;line-height:20px;text-align:right;"><cite>'.genesis_get_custom_field( '_cd_client_name' ).'</cite><br />'.genesis_get_custom_field( '_cd_client_title' ).'</div>';
 echo '</div>';
 echo '<div class="three-fourths" style="border-bottom:1px solid #DDD;">';
 echo '<h3>' . get_the_title() . '</h3>';
 echo '<blockquote><p>' . get_the_content() . '</p></blockquote>';
 echo '</div>';
 echo '</div>';

 endwhile;

 endif;

 echo '</div><!-- end .entry-content -->';
 echo '</div><!-- end .page .hentry .entry -->';
}

/** Remove Post Info */
remove_action('genesis_before_post_content','genesis_post_info');
remove_action('genesis_after_post_content','genesis_post_meta');

genesis();
?>
Catégories : Wordpress

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *