0

这是我的代码(如下)我试图仅从类别 id 4 中提取帖子,并且它正在工作,但是它没有提取帖子内容。它正在显示其他所有内容。

谁能帮我这个?

<?php  get_header(); ?> 
<div id="content" class="fixed">
<?php
    echo '<div class="row fixed">';
        echo '<div class="col580 no-print">';

        global $post;
        $myposts = get_posts('category=4');
foreach($myposts as $post) :
?>
  <div class="post-item">
  <?php

    $src = null;
    $count = 0;

    $readmorelabel = get_option(EWF_SETUP_THNAME."_blog_read_more", __('&#8212; Read More', EWF_SETUP_THEME_DOMAIN));                   

        $count++;

        //## Get post classes
        //##
        $post_class = get_post_class();
        $post_class_fin = null;

        foreach($post_class as $key=> $ctclass){
            $post_class_fin.= ' '.$ctclass;
        }


        //## Get post categories
        //##
         get_the_category( $post->ID );

         $post_categories = null;
         foreach((get_the_category( $post->ID )) as $category) { 
            if ($post_categories == null){
                $post_categories.= '<a href="'.get_category_link( $category->term_id ).'" >'.$category->cat_name.'</a>';
            }else{
                $post_categories.= ', <a href="'.get_category_link( $category->term_id ).'" >'.$category->cat_name.'</a>';
            }
         }


        //## Get post featured image
        //##
        $image_id = get_post_thumbnail_id($post->ID);  
        $image_url = wp_get_attachment_image_src($image_id,'blog-featured-image');  


        $src .= '<div class="blog-post '.$post_class_fin.'">';

            $src .= '<div class="blog-post-date">'.get_the_time('d').' <span>'.get_the_time('M Y').'</span></div>' ;
            $src .= '<h3 class="blog-post-title"><a href="' . get_permalink() . '">'.get_the_title($post->ID).'</a></h3>' ;


            $src .= '<ul class="blog-post-info fixed">
                        <li class="categories">'.$post_categories.'</li>

                        <li class="comments"><a href="'.get_permalink().'#comments">'.get_comments_number().' '.__('Comments', EWF_SETUP_THEME_DOMAIN).'</a></li>
                     </ul>';

            if ($image_id){
                $src .= '<div><a href="'.get_permalink().'"><img class="blog-post-thumb" src="'.$image_url[0].'" width="480" height="200" alt="" /></a></div>';
            }

            global $more;
            $more = false;          
            $src .= '<p>'.do_shortcode(get_the_content('&nbsp;')).'</p>';   

            $more = true;

            $src .= '<div class="fixed"><p class="blog-post-readmore"><a href="'.get_permalink().'">'.$readmorelabel.'</a></p></div>';

            if ($wp_query_blog->post_count != $count ){
                $src .= '<div class="hr"></div>'; 
            } 

        $src .= '</div>';  




    if ($wp_query->found_posts > $wp_query->query_vars['posts_per_page']){
        $src .= ewf_sc_blog_navigation_steps($wp_query->query_vars['posts_per_page'], $wp_query);
        }

    echo $src;

?>



  </div>

<?php comments_template(); ?>
<?php endforeach; wp_reset_postdata(); 



        echo '</div>';

        echo '<div class="col280 last">';
            if ( !function_exists('dynamic_sidebar')  || !dynamic_sidebar('sidebar-page') );
        echo '</div>';


    echo '</div>'; 

?>

</div>

<?php   get_footer();  ?>
4

1 回答 1

0

您正在使用 get_posts(),因此您可以使用 post_content 轻松获取帖子内容。

我看到你用的是这个

global $post;
$myposts = get_posts('category=4');
foreach($myposts as $post) :

请避免将全局变量用作局部变量,这样做可能会更改其值,并且以后可能会遇到一些问题,而是执行以下操作

global $post;
$myposts = get_posts('category=4');
foreach($myposts as $mypost) :

在此之后,您可以轻松获取 for each 循环中每个帖子的详细信息,例如

global $post;
$myposts = get_posts('category=4');
foreach($myposts as $mypost) :
  echo $mypost->post_title; // This gives you the post title
  echo $mypost->post_content; // This gives you the post content
endforeach;

您可以尝试从上面获取参考并尝试使用您的代码。

基线:如果您使用 get_posts() 您可以从 $variable->post_content 获取帖子的内容;

希望能帮助到你!!!

于 2013-09-11T11:20:08.613 回答