如何在wordpress模板中使用自己的php变量?

时间:2010-07-09 09:16:13

标签: php wordpress

我在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变量是空的:( ..有什么想法吗?谢谢!

4 个答案:

答案 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,你可以在其中拥有自己的项目。