获取所有类别wordpress的帖子

时间:2014-07-25 06:52:57

标签: wordpress

如何从一个类别获取所有帖子。我试过这个代码,它没有显示任何输出。它是正确的还是任何更正都在这里?感谢。

  include('wp-config.php');


  global $wp_query;

 $args = ('category=news&posts_per_page=-1');

 $myposts = get_posts( $args );


 foreach ( $myposts as $post ) : setup_postdata( $post ); 
   $result =  array(
   "id"=>$args['ID'],
   "type"=>$args['post_type'],
   "url"=>$args['guid']);
 endforeach; 

wp_reset_postdata();
print($result);

4 个答案:

答案 0 :(得分:1)

请尝试以下方法: -

    global $wp_query;

 $args = ('category=news&posts_per_page=-1');

 $myposts = get_posts( $args );


 foreach ( $myposts as $post ) : setup_postdata( $post ); 

   $result[] =  array(
   "id"=>$post->ID, // changed $args to $post
   "type"=>$post->post_type,
   "url"=>$post->guid);
 endforeach; 

wp_reset_postdata();
print_r($result);

答案 1 :(得分:1)

如果您想在类别页面中显示特定类别的帖子,您可以在主题的category.php文件中使用以下给定的代码。

<?php
    if(have_posts()) :
        while (have_posts()) : the_post();
?>
            <a href="<?php the_permalink();?>"><?php the_title();?></a>
            <?php
                the_post_thumbnail();
                the_content();    
            ?>
<?php
        endwhile;        
    endif;
?>

如果要在类别页面以外的页面中显示相同内容,只需将以下代码添加到相应的文件中即可。

<?php
    $posts = new WP_Query();
    $posts->query( "category_name='{enter your category slug here}'&posts_per_page=-1" );
    if($posts->have_posts()) :
        while ($posts->have_posts()) : $posts->the_post();
?>
            <a href="<?php the_permalink();?>"><?php the_title();?></a>
            <?php
                the_post_thumbnail();
                the_content();    
            ?>
<?php
        endwhile;        
    endif;
    wp_reset_postdata();
?>

答案 2 :(得分:0)

在您的主题目录中,搜索 category.php 。如果它不包含,请创建一个新文件category.php并粘贴此代码:

<?php if(have_posts()) : while (have_posts()) : the_post(); ?>
    <a href="<?php the_permalink();?>"><?php the_title();?></a>
    <?php the_excerpt();?>
<?php endwhile; else :?>
<?php endif;?>

答案 3 :(得分:-1)

你只是想从一个类别中获取帖子吗?

这是我保留的Codex中的一个方便代码。在任何自定义类别页面或任何页面上的任何位置使用此选项,以启动循环。确保将类别slug放入代码中的正确位置。

query_posts( array ( 'category_name' => 'my-category-slug', 'posts_per_page' => -1 ) );
if ( have_posts() ) : while ( have_posts() ) : the_post();
// YOUR STUFF LIKE the_title(); or the_content();
endwhile; endif;

这不是对您的代码的修复,但它回答了您提出的问题。我认为你的问题可能是在循环中使用$ args(看起来很奇怪),但如果你想让我确定我可能需要更多的代码或一个可以看到的工作示例。

http://codex.wordpress.org/Function_Reference/query_posts#All_Posts_in_a_Category

AHEM ...是的......我是个白痴......不要去粘贴这个。使用WP_Query !!谢谢彼得。