从wp_Get_Recent_Posts获取类别和摘录

时间:2016-12-14 作者:WashDCDev

我正在使用函数wp_get_recent_posts 要返回页面上最新的三篇文章,我想获得它们的标题、类别和简短摘录。当我查看该函数的文档时,我看到它返回了一个项目数组,但它没有说明该数组中可以从中提取什么,所以我通过猜测名称进行测试(see this page) - 我对post\\u内容的猜测是对的。

为了获得分类,我已经尝试了$recent["category"], $recent["the_category"], 和$recent["post_category"] 对于摘录,我也尝试了这些方法,除了用摘录替换类别。我使用的代码如下:

<?php
                    $args = array( \'numberposts\' => \'5\' );
                    $recent_posts = wp_get_recent_posts( $args );
                    foreach( $recent_posts as $recent ){

                        echo \'<h2><a href="\' . get_permalink($recent["ID"]) . \'">\' .   $recent["post_title"].\'</a></h2><h3>Posted in \'. $recent["the_category"] .\'</h3><p>\'.$recent["post_content"].\'</p>\';


                    }
                    wp_reset_query();
                ?>

1 个回复
最合适的回答,由SO网友:Athoxx 整理而成

我建议使用WP_Query() 相反像这样:

<?php
$category = \'whatever\';
$new_query = new WP_Query(
    array(
        \'post_type\'         => \'post\',
        \'posts_per_page\'    => -1,
        \'category_name\'     => $category;
    )
);

if ($new_query->have_posts()) {
    $i = 0;
    while ($new_query->have_posts()) {
        $new_query->the_post();
        $postid = get_the_ID();
        // Your output code.
    }
}
wp_reset_postdata();
?>
仅仅是改变$category 无论你需要什么。如果要有多个类别,请将其设置为array()
但是,如果要对自定义帖子类型执行此操作,则需要使用tax_query 数组,如下所示:

\'tax_query\' => array(
    array(
        \'taxonomy\' => \'people\',
        \'field\'    => \'slug\',
        \'terms\'    => \'bob\',
    ),
),
上述示例直接取自WordPress Codex.

相关推荐

如何在Functions.php中链接style.css

我是WordPress的新手;我刚开始学习WordPress。我想把风格联系起来。函数中的css。php,但我无法解决这里可能存在的问题。谁能给我指出正确的方向吗?指数php<?php get_header(); ?> <?php if ( have_posts() ) { while ( have_posts() ) { the_post();