我有一个自定义的Wordpress主题,只有一个模板文件(index.php)。我在此模板(元标记)中渲染了少量的帖子/页面数据,每个页面上的数据都相同,然后我使用React和API来完成其余的工作。
当我请求帖子时,一切工作正常,Wordpress从所请求的帖子中获取正确的信息,并将其分配给模板中使用的变量:
<?php
if (have_posts()) {
while (have_posts()) {
the_post();
$seoFields = get_field('seo');
// global $wp;
$url = home_url(add_query_arg(array(),$wp->request));
$title = $seoFields['seo_title'] ?: get_the_title() ?: get_bloginfo('name');
$description = $seoFields['description'] ?: get_field('description') ?: '';
$imageObj = get_field('featured_image');
$image = $imageObj ? $imageObj['sizes']['thumbnail'] : '';
$tags = $seoFields['keywords'] ?: '';
}
}
?>
但是,当我请求页面(或存档)时,它不起作用。除了标题是Wordpress默认的“ Hello world!”之外,变量只是空字符串。当我请求存档页面时,它只是从第一篇文章中获取信息。
我尝试制作用于页面的其他页面模板,但这不起作用(我制作了page.php
模板,并添加了正确的模板标题,甚至没有显示为模板选项)。
我的永久链接设置为“帖子名称”。
因此,如何确保当我请求发布的页面(例如/ about)时,index.php文件将呈现该页面的正确标题和信息。