我需要在一页上显示所有页面。
目前, 我正在使用它来引入每个页面:
<
?php
$page_id = 5;
//id example
$page_data = http://www.srcmini.com/get_page( $page_id );
$content = apply_filters('the_content', $page_data->
post_content);
$title = $page_data->
post_title;
echo $content;
?>
但是, 如果创建了一个新页面, 它将不会显示该页面, 因为它将没有此代码及其ID。
有没有办法自动进入所有页面?
任何帮助将不胜感激, 谢谢
#1你可以使用get_pages(); 来获取博客的所有页面, 如下所示:
$pages = get_pages();
foreach ($pages as $page_data) {
$content = apply_filters('the_content', $page_data->
post_content);
$title = $page_data->
post_title;
echo $content;
}
#2接受的答案的返回数组不包含” post custom” (我的情况需要)。而且, 你可能需要检索具有特定属性的页面。使用args获得更多自定义结果:
<
?php $args = array(
'sort_order' =>
'asc', 'sort_column' =>
'post_title', 'hierarchical' =>
1, 'exclude' =>
'', 'include' =>
'', 'meta_key' =>
'', 'meta_value' =>
'', 'authors' =>
'', 'child_of' =>
0, 'parent' =>
-1, 'exclude_tree' =>
'', 'number' =>
'', 'offset' =>
0, 'post_type' =>
'page', 'post_status' =>
'publish'
);
$pages = get_pages($args);
?>
并像这样使用它们:
<
?php
foreach ($pages as $page) {
$title = $page->
post_title;
echo $title. "<
br />
";
} ?>
在这里阅读更多
#3另外, 如果你使用的是” 二十十” 主题(我不知道它在其他主题中将如何工作), 则可以轻松地将所有页面格式化:
echo "<
h1 class=\"entry-title\">
".$title."<
/h1>
"
."<
div class=\"entry-content\">
".$content."<
/div>
";
#4那么你也可以通过此代码获取每个页面的内容。
$content = apply_filters( 'the_content', $content );
【WordPress在一页上显示所有页面】如果在不同页面上使用自定义模板, 仍然会遇到巨大的问题, 但是你只能获取内容, 而不能在一页上获取模板文件
推荐阅读
- 插件和主题的WordPress目录权限
- #导入Word文档图片# Linux下文件目录权限操作
- SpringBoot整合SpringSecurity
- 持续集成CI/CD之CD的完整版最佳实践
- php手册String函数(解析)
- shell脚本系列---如何创建shell脚本,并执行常用的命令
- git系列---git提交代码时,文件名过长导致报错(libgit2 returned: invalid path for filesystem)
- git系列---初始工程文件太大或者文件数太多时,向远程仓库push时总是失败,如何解决()
- shell脚本系列---自动备份数据库数据