我正在尝试在主要部分之外插入辅助标头。
主要是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()
答案 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');
了解更多: