web-dev-qa-db-ja.com

ショートコードを使用した最近の投稿表示

最近の投稿を静的ページhome-content.phpに表示しようとしています。このコードを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]これは最近の投稿を表示するためのショートコードです

投稿を表示するためのhome-content.php

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

私のカスタムテーマのホームページの最近の投稿表示 http://templategraphy.com/wp-demo/businessguru/ /

しかし、問題のテーマ構造は正しく表示されません。私はこのような構造が欲しい http://templategraphy.com/demo/businessguru/ /

私が間違っているところに解決策を提案してください。

2
Payal

The_permalink()の引用符が抜けています。次のコードを使う

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