是否返回不同数据的Get_Pages和Get_Posts?

时间:2012-08-03 作者:OS.

这让我抓狂。。。我有一个管理插件页面,列出wordpress网站的页面。我试图使用get\\u pages()列出所有页面,但由于某些原因,一旦页面发布,它们就不再显示了-当我使用get\\u帖子时,它们会显示出来,但新的草稿页面不会:(

这是代码。。请帮忙

//this only displays the new draft pages - once published pages don\'t show up here
$args = array(\'post_status\' => \'draft, publish\');
$pages = get_pages($args);                                                   
foreach ( $pages as $page ) { some html code that displays the page title }

//this piece of code will return all pages onces they were published, 
//even if \'unpublished\' later - but will not return new draft pages
global $post;
$args2 = array( \'numberposts\' => 50, \'post_status\' => \'publish, draft\');
$myposts = get_posts( $args2 );
foreach( $myposts as $post ) {
    setup_postdata($post); 
    ... some HTML code to display the pages
}
发生什么事了?

1 个回复
SO网友:amit

您正在为传递数组post_status 错误的方式,这里我用更正更新了您的代码。

显示的列表pages

//To display list of pages
$args = array(\'post_status\' => array(\'drafts\', \'publish\'));
$pages = get_pages($args);                                                   
foreach ( $pages as $page ) { 
    // some html code that displays the page title 
}
显示Posts

// To display list of posts
global $post;
$args2 = array(\'numberposts\' => 50, \'post_status\' => array(\'drafts\', \'publish\'));
$myposts = get_posts( $args2 );
foreach( $myposts as $post ) {
    setup_postdata($post); 
    //... some HTML code to display the pages
}
请注意-您似乎对术语感到困惑postspages.

  • get_pages() 函数将返回页面,而不是帖子get_posts() 函数将返回POST

结束

相关推荐

使用WordPress数据库API的CRUD操作

查询WordPress数据库的正确方法是什么?我希望获得类似于WordPress仪表板链接部分的输出,以便能够对给定的表行/列分别执行编辑和删除操作。我利用了几篇关于在WordPress中设置数据库表的文章中的知识,因此能够构建前端,以适应编辑和删除操作;我目前需要的是一个很好的示例,说明如何使用WordPress数据库查询API来执行所有CRUD操作。