我正在创建一个插件。 我希望获得所有帖子,如标题和网址。不在首页上只是管理面板。 当我尝试使用它但不工作时
<?php
$args = array( 'numberposts' => -1);
$posts= get_posts( $args );
if ($posts) {
foreach ( $posts as $post ) {
setup_postdata($post);
the_title();
}
}
?>
答案 0 :(得分:2)
您必须传递对global $post
变量的引用,否则the_title()
之类的函数将无法正常工作。所以$args
以上:
global $post;
$args = array( 'numberposts' => -1);
$posts= get_posts( $args );
if ($posts) {
foreach ( $posts as $post ) {
setup_postdata($post);
the_title();
}
}
wp_reset_postdata()
此外,使用wp_reset_postdata()
可在完成时将全局变量恢复为原始状态。
答案 1 :(得分:1)
请试试这个
<?php
global $post;
$args = array( 'posts_per_page' => -1 );
$myposts = get_posts( $args );
foreach ( $myposts as $post ) :
setup_postdata( $post ); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach;
wp_reset_postdata(); ?>