所以,我有以下帖子循环来展示帖子(wp functions.php)。
global $post;
$args = array(
'post_type' => 'post',
'posts_per_page' => 3,
'orderby' => 'date',
'order' => 'DESC'
);
$loop = new WP_Query( $args );
$id = get_the_ID();
while ( $loop->have_posts() ) : $loop->the_post();
$my_post['sample_id'] = get_the_title( $id );
endwhile;
wp_reset_postdata();
我需要在一个值数组中拥有帖子的标题(例如array [title1,title2,title3])。
然而,它只获得一个冠军。
如何使$my_post
变量具有三个值?
(换句话说,我只想在变量中使用三个标题)
修改
....
while ( $loop->have_posts() ) : $loop->the_post();
array_push($titleArray, get_the_title($id));
endwhile;
$tag_post['sample_id'] = $titleArray;
echo json_encode($tag_post);
wp_reset_postdata();
exit;
答案 0 :(得分:1)
以下是将所有标题存储到数组中的更新代码,
global $post;
$args = array(
'post_type' => 'post',
'posts_per_page' => 3,
'orderby' => 'date',
'order' => 'DESC'
);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
$titleArray[] = get_the_title();
endwhile;
print_r($titleArray); // Store to a variable as per your needs
wp_reset_postdata();
我希望这会有所帮助。
答案 1 :(得分:1)
例如:
<?php
global $post;
global $all_post_titles; //possibly needed//
$all_post_titles = array();
$args = array(
'post_type' => 'post',
'posts_per_page' => 3,
'orderby' => 'date',
'order' => 'DESC'
);
$myposts = get_posts( $args );
foreach( $myposts as $post ) : setup_postdata($post); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); $all_post_titles[] = the_title('','',false); ?></a></li>
<?php endforeach; ?>
并强>
<?php
global $all_post_titles; //possibly needed//
echo my_get_the_term_list( $post->ID, $taxonomy, '', ' ', '', $all_post_titles );
?>
取决于第二个代码的位置,您可能不需要将$all_post_titles
声明为全局变量。
如果您想将所有发布数据放入数组,那么此代码将为您提供帮助。
$query = new WP_Query(array('post_type' => 'post'));
$posts = $query->get_posts();
$postArray = array();
foreach($posts as $post) {
// Do your stuff, e.g.
// $postArray[] = $post->post_name;
// store data to array;
}
答案 2 :(得分:1)
您只需更改代码中的一行即可。
替换它
$my_post['sample_id'] = get_the_title( $id );
用它:
$my_post['title'][] = get_the_title( ); // $my_post will be your array containing all titles of your post.
$ my_post []会像 array_push 那样。
我希望它对你有用。
答案 3 :(得分:1)
最简单的方法是使用wp_list_puck()
您可以尝试以下
$args = [
// Your arguments
];
$q = get_posts( $args );
$titles = wp_list_pluck( $q, 'post_title' );
var_dump( $titles );