Wordpress页面中简单函数调用出错

时间:2015-08-19 05:32:53

标签: php wordpress

我正在尝试在主要部分之外插入辅助标头。 主要是header.php并使用get_header();

进行调用

尝试制作另一个我在functions.php中添加的标题:

function secondary_header() {
  echo '<p>This is a test</p>';
}
add_action('get_customheader', 'secondary_header');

并在page.php中

get_customheader();

我有错误:

Fatal error: Call to undefined function get_customheader()

2 个答案:

答案 0 :(得分:2)

由于Wordpress Codex说&#34; 自定义标题是在主题顶部标题部分中选择作为代表图像的图像。&#34;

因此,此函数需要一组默认参数来渲染图像,例如&#34; width&#34;,&#34; height&#34;,&#34; default-image&#34; (图像位置/路径)。

这意味着您的问题是以下之一:

  • 您正在使用不必要的功能来完成您想要完成的任务。
  • 您想使用自定义听众功能,但不了解其工作原理。

要使其正常工作,您只需删除此行:

add_action('get_customheader', 'secondary_header');

然后在模板文件上调用您的函数,就像任何其他正常函数一样:

<?php secondary_header(); ?>

如果您想要的是动态地在多个页面中插入其他代码/ html,或者只是为了保持文档整洁干净,我建议您了解Wordpress的内置函数来插入模板文件,这是 get_template_part()

为了进一步了解 get_template_part()如何运作,我建议您了解 include() require()这是本机PHP函数,甚至可以在WP之外工作。

答案 1 :(得分:1)

我认为您可以更轻松地使用自定义标头创建.php文件,然后将其拉入模板文件中,并使用类似

的内容调用get_header()
get_template_part('additional/custom_header');

这将在&#39;其他&#39;中搜索custom_header.php文件。你主题的文件夹。

您的错误来自于您已将操作添加到不存在的函数get_customheader()。你想要的可能是do_action('get_customheader');

了解更多:

do_action()

add_action()