我在php中使用wordpress模板:
<?php
include('wp-blog-header.php');
get_header();
?>
...Hello World...
<?php get_footer(); ?>
好的,它运行良好......但标题和其他元标记的内容都是空的。如何在get_header()部分中更改标题内容或使用我自己的$变量?它不会像这样工作:
$test="Blabla";
get_header();
.. inside a wordpress header template:
echo $test;
$ test变量是空的:( ..有什么想法吗?谢谢!
答案 0 :(得分:6)
$ test变量是空的,因为函数包含了标题,因此有效地“插入”了函数,更重要的是,在不同的范围内..想想它就像
function get_header()
{
$test = '1234';
}
get_header();
echo $test; // won't work because test is in a different scope
但是你可以使用全局变量或$ _SESSION变量,或者创建一个静态类来保存可以从任何地方调用的变量。
全局选项可能是这里最快的解决方案(不一定是最严格的)。
$GLOBALS['test'] = "Blabla";
get_header();
.. inside a wordpress header template:
echo $GLOBALS['test'];
希望有所帮助
答案 1 :(得分:2)
将所有不同的自定义函数和/或变量放在functions.php
中或替换 get_header(); 通过 包括get_bloginfo(“template_url”)。'/ header.php';
答案 2 :(得分:1)
简单地替换:
<?php
$test="Blabla";
get_header();
?>
使用:
<?php
$test="Blabla";
include(TEMPLATEPATH . '/header.php');
?>;
并且变量将在范围内。尽量避免使用全局变量。
答案 3 :(得分:0)
默认情况下,get_header()会提取header.php文件。您可以简单地重写header.php文件以包含您想要的内容。如果你不想为所有模板重写它,但只有少数你可以使用get_header('name')来获取header-name.php,你可以在其中拥有自己的项目。