我在所有页面上都设置了自定义模板,它可以很好地加载模板,现在我需要根据帖子名称切换到从数据库中提取数据。
mysite.com/cars - >页面名称[汽车]
页面[汽车]加载home.php模板:
<?php
get_header();
//get name of page [cars] use it to retrieve from a custom table
//with the primary key [cars]
get_footer();
?>
我是否必须解析URL以提取名称,或者在某处我可以提供wordpress名称。我没有看到在帖子页面上设置它的选项。
答案 0 :(得分:1)
你想要
$pagename
WP全局变量$ pagename应该可供您使用。
$ pagename在函数get_page_template()内部的文件wp-includes / theme.php中定义,当然在解析页面主题文件之前调用它,因此它可以在模板中的任何位置用于页面
虽然似乎没有记录,但$ pagename var是 仅在您使用永久链接时才设置。我想这是因为如果你不这样做 使用它们,WP不需要页面slug,因此它不会设置它。
如果您将该页面用作静态首页,则不会设置$ pagename。