对于从WP设置调用为“Posts页”的页面,我在执行相同操作时遇到问题。假设在“博客”页面(WordPress页面)的顶部,我想要一些博客的介绍文字,上面写着:“欢迎来到博客。请查看下面的新帖子。”如何实现,而不是将其硬编码到模板中?
首先,根据WordPress Template Hierarchy, 此上下文中使用的模板文件按优先顺序为:home.php
, 和index.php
. 对自定义页面模板所做的任何操作都不会对WordPress用于呈现博客帖子索引的内容产生任何影响。
您最好的解决方案是将此文本硬编码为home.php
, 循环外部。您可以将此文本放入模板零件文件中,并通过get_template_part( $foobar )
如果你真的想这么做,但诚实地这么做没有任何意义。
顺便问一下:您对将特定于模板的文本硬编码到模板文件中有什么反感?
p、 这里是a more current version of the Template Hierarchy. (我很快会将其添加到抄本中。)
EDIT
我正在研究一个主题,它将被分发/提供给几十个客户,如果不是数百个不同的客户的话。我希望客户能够控制博客区域内是否有任何介绍文本。
我真的不认为您可以输出$post->post_content
对于用作page_for_posts
. 也许您可以使用自定义查询,例如使用get_page()
:
<?php
$page_for_posts = get_page( get_option( \'page_for_posts\' ) );
$page_for_posts_content = $page_for_posts->post_content;
echo apply_filters( \'the_content\', $page_for_posts_content );
?>
或者,我会建议两种方法之一:
创建Theme Option 要定义此文本/内容,请将模板文件的该部分设置为dynamic sidebar, 并允许用户添加一个小部件,例如文本小部件,他们可以在其中定义此文本/内容