Wordpress将页面名称传递给模板

时间:2015-04-27 17:17:20

标签: php wordpress

我在所有页面上都设置了自定义模板,它可以很好地加载模板,现在我需要根据帖子名称切换到从数据库中提取数据。

mysite.com/cars - >页面名称[汽车]

页面[汽车]加载home.php模板:

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名称。我没有看到在帖子页面上设置它的选项。

1 个答案:

答案 0 :(得分:1)

你想要

$pagename

WP全局变量$ pagename应该可供您使用。

$ pagename在函数get_page_template()内部的文件wp-includes / theme.php中定义,当然在解析页面主题文件之前调用它,因此它可以在模板中的任何位置用于页面

  • 虽然似乎没有记录,但$ pagename var是 仅在您使用永久链接时才设置。我想这是因为如果你不这样做 使用它们,WP不需要页面slug,因此它不会设置它。

  • 如果您将该页面用作静态首页,则不会设置$ pagename。

请参阅How to get the current page name in WordPress?