
在wordpress中,若在`header.php`中直接使用``输出函数返回值,会因函数未显式输出(即缺少`echo`)导致html源码中内容为空;正确做法是使用``显式输出函数返回值。
在WordPress主题开发中,将自定义函数(如生成页面描述的meta_desc())嵌入header.php是常见需求。但一个典型误区是:误以为函数调用本身会自动输出内容。实际上,PHP函数默认返回值而非输出内容,而HTML标签属性(如content="")需要的是字符串值,必须通过echo或print显式输出。
✅ 正确写法:
⚠️ 常见错误写法(会导致content=""为空):
? 补充建议:
立即学习“PHP免费学习笔记(深入)”;
- 确保meta_desc()函数在functions.php中已正确定义并返回字符串(非echo或print):
function meta_desc() { if (is_home()) { return '欢迎访问我的WordPress博客'; } elseif (is_single()) { return wp_trim_words(get_the_excerpt(), 20, '…'); } return get_bloginfo('description'); } - 若函数内部已含echo,则应重构成return模式,避免重复输出或布局错乱;
- 建议对输出内容做基础转义,提升安全性(尤其当内容含用户输入时):
总结:在HTML属性内调用PHP函数,务必使用echo(或print)显式输出返回值,并配合esc_attr()进行安全转义,才能确保内容正确、安全地渲染到页面源码中。











