这是我的代码(如下)我试图仅从类别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", __('— 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(' ')).'</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(); ?>
答案 0 :(得分: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) :
在此之后,您可以轻松获取每个循环中每个帖子的详细信息,例如
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-&gt; post_content获取帖子的内容;
希望它有所帮助!!!