web-dev-qa-db-fra.com

Affichage récent de messages à l'aide d'un shortcode

J'essaie d'afficher le message récent dans la page statique home-content.php. J'ai ajouté ce code dans function.php

 function my_recent_posts_shortcode($atts){
     $q = new WP_Query(
       array( 'orderby' => 'date', 'posts_per_page' => '4')
     );
    $list ="";
   while($q->have_posts()) : $q->the_post();
   echo '<div class="item">';
   $title=get_the_title();
   if ( has_post_thumbnail() ) {
   echo '<a class="single-image link-icon" href="' . get_permalink() . '">';
   $list .=the_post_thumbnail(array(300,200),array('alt' =>$title));    
   echo '</a>';
   }
  echo '<h6 class="title"><a href="' . get_permalink() . '"><span>'.$title.'</span></a></h6>';
  echo '<div class="entry-body">';
  $list .= wpe_excerpt('wpe_excerptlength_index', '');
  echo '<a class="button default color" href="' . get_permalink() . '">Read More</a>';
  echo '</div>';

   echo '</div>';
  endwhile;

    wp_reset_query();

    return $list ;

    }

       add_shortcode('recent-posts', 'my_recent_posts_shortcode');

[recent-posts] c'est un shortcode pour afficher un message récent

et home-content.php pour montrer post

<?php 
$post_id = 7;
$queried_post = get_post($post_id);
?>
<p><?php  $check=$queried_post->post_content; ?></p>
<?php  echo do_shortcode('["'.$check.'"]');?>

Tous les articles récents s'affichent sur la page d'accueil de mon thème personnalisé http://templategraphy.com/wp-demo/businessguru/

mais la structure du thème du problème n'est pas correctement affichée. Je veux ce type de structure http://templategraphy.com/demo/businessguru/

Suggérez une solution à ce que je fais mal.

2
Payal

Vous avez manqué les guillemets dans the_permalink (). Utilisez le code suivant

function my_recent_posts_shortcode($atts){
 $q = new WP_Query(
   array( 'orderby' => 'date', 'posts_per_page' => '4')
 );
$list ="";
while($q->have_posts()) : $q->the_post();
 echo '<div class="item">';
$title=get_the_title();
if ( has_post_thumbnail() ) {
 $list .= '<a class="single-image link-icon" href="'. get_permalink().'">'.the_post_thumbnail(array(300,200),array('alt' =>$title)).'</a>';
}
$list .= '<h6 class="title"><a href='.the_permalink().'><span>"'.the_title().'"</span></a></h6>';
echo '<div class="entry-body">';
$list .= wpe_excerpt('wpe_excerptlength_index', '').'<a class="button default color" href="'.the_permalink().'">Read More</a>';
echo '</div>';

 echo '</div>';
endwhile;

wp_reset_postdata();

return $list ;

}
0
Jansha Mohammed