WordPress将CPT的所有帖子标题存储在数组

时间:2016-04-13 10:00:22

标签: php arrays wordpress

我有一个CPT'工作',并希望将所有帖子标题存储在数组中。

这是我尝试的但由于某种原因我得到Trying to get property of non-object错误。

这是我尝试过的:

$myarray = array();

$jobs = new WP_Query( array( 'post_type' => 'jobs') ); 
foreach ($jobs as $job):
    $myarray = $job->post_title; 
endforeach; 

echo $myarray;

我已经转储了$ jobs wp_query,我可以在那里看到post_titles。

2 个答案:

答案 0 :(得分:2)

利用get_posts。它只返回查询对象的$posts属性。此外,您在[]之后缺少数组语法( $myarray )。按照目前的情况,$myarray只会保留帖子的当前帖子标题。作为最后一点,你不能回显数组,你只能回显字符串

$myarray = array();

$jobs = get_posts( array( 'post_type' => 'jobs') ); 
foreach ($jobs as $job):
    $myarray[] = $job->post_title; 
endforeach; 

var_dump( $myarray );

答案 1 :(得分:0)

试试这个..

<?php
$myarray = array();

$jobs = new WP_Query( array( 'post_type' => 'post','orderby=title&order=DESC') ); 
global $post;

if($jobs->have_posts()){
    while ($jobs->have_posts()):$jobs->the_post();
        $myarray[] = $post->post_title;
    endwhile;
}

echo "<pre>";
print_r($myarray);
?>
相关问题