
在 wordpress 主题的 `header.php` 中调用自定义 php 函数(如输出 meta 描述)时,若直接使用 `` 会导致内容为空,根本原因是该函数未返回值——必须使用 `echo` 显式输出其返回结果。
WordPress 主题中,functions.php 文件常用于定义工具函数,例如生成动态页面描述:
// functions.php 中的示例函数(务必有 return)
function meta_desc() {
if (is_home() || is_front_page()) {
return '欢迎访问我们的 WordPress 博客,分享前端开发与主题定制技巧。';
} elseif (is_single()) {
global $post;
return wp_trim_words($post->post_excerpt ?: $post->post_content, 20, '…');
} else {
return get_bloginfo('description');
}
}⚠️ 关键注意点:
- 函数必须使用 return 返回字符串,而非 echo 或 print 输出;
- 在 header.php 的 HTML 属性中(如 content=""),需用 显式输出,因为 仅执行但不回显;
- 若函数内部已含 echo,则不可再套用 echo,否则会报错或重复输出——推荐统一采用 return + 外部 echo 的模式,更安全、可控。
正确写法(header.php 中):
✅ 补充建议:
立即学习“PHP免费学习笔记(深入)”;
- 使用 esc_attr() 对输出进行属性安全转义,防止 XSS 风险;
- 确保函数在 header.php 加载前已被 functions.php 定义(默认满足,因 functions.php 优先加载);
- 可通过 var_dump(meta_desc()); die; 在函数末尾临时调试,确认返回值非空。
遵循以上规范,即可确保自定义函数在
区域稳定、安全、准确地输出预期内容。









