如何在wordpress管理员中获取所有帖子列表?

时间:2014-09-09 04:34:14

标签: php wordpress plugins wordpress-plugin wordpress-theming

我正在创建一个插件。 我希望获得所有帖子,如标题和网址。不在首页上只是管理面板。 当我尝试使用它但不工作时

<?php
$args = array( 'numberposts' => -1); 
$posts= get_posts( $args );
if ($posts) {
    foreach ( $posts as $post ) {
        setup_postdata($post);
        the_title();
    }
}
?>

2 个答案:

答案 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()可在完成时将全局变量恢复为原始状态。

  

More Information

答案 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(); ?>