如何将WordPress循环存储在数组中?

时间:2012-08-11 作者:Jamie

我在一个网站上工作。此网站有一个内置的布局组织,它使用switch语句组织页面上的数据。我想用它来组织主页帖子。现在,我有4篇帖子要返回循环。这是我正在运行的循环

query_posts( array ( \'category_name\' => \'homepage\', \'posts_per_page\' => -1 ) );
global $more;
$more = 0;
while ( have_posts() ) : the_post();
the_excerpt();
endwhile;
wp_reset_query();
我需要能够将4个帖子返回到此交换机

$layout = $data[\'homepage_layout\'][\'enabled\'];

    if ( $layout ) :
        foreach ( $layout as $key => $value ) {
            switch ( $key ) {
                case \'block_one\' :
                                     //post one would go here
                    break;
                case \'block_two\':
                                     //post two would go here and so on....
                    break;
                case \'block_three\':
                    break;
                case \'block_four\':
                    break;  
            }
                            }
    endif;
就我的一生而言,我无法理解它。

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

改用get\\u posts-

您可以使用该功能get_posts() 以数组形式获取所有帖子。此函数接受查询帖子的几乎所有参数。

示例-

    $args = array( \'numberposts\' => 3,\'category\' => 3 );
    $homePost = get_posts( $args );
    $one = $homePost[0]; 
    $two = $homePost[1]; 
    $three = $homePost[2];

    //print_r($one);        // lets see what we have in array - $one

    //e.g. to print the title
    echo $one->post_title; 
注意-在这种情况下,您将无法使用典型的Wordpress函数the_title(), the_excerpt() 等等。您必须手动回显数组的每个元素。

Tip - 快速完成print_r(); 查看数组中的其他内容并使用它

结束