如何在WordPress的functions.php中添加带超链接的HTML作为文章默认内容
WordPress文章默认内容添加多链接HTML的解决方案
你遇到的问题本质是PHP字符串引号嵌套冲突,以下三种方案均可完美实现带多个超链接的HTML默认内容设置:
- 方案1:转义HTML内的双引号
如果继续用双引号包裹$content的内容,只需要给HTML标签里的双引号前面加反斜杠\转义即可,示例代码:
add_filter( 'default_content', 'my_editor_content' ); function my_editor_content( $content ) { // 双引号内的HTML引号加\转义 $content = "<p>欢迎访问<a href=\"https://example.com\" target=\"_blank\">官方网站</a>,也可以查看<a href=\"https://example.com/guide\" target=\"_blank\">使用教程</a>获取更多帮助。</p>"; return $content; }
- 方案2:用单引号包裹整个$content的字符串
单引号包裹的字符串内部的双引号不需要转义,直接写即可,适合HTML内容不多的场景,示例代码:
add_filter( 'default_content', 'my_editor_content' ); function my_editor_content( $content ) { // 外层用单引号包裹,内部HTML双引号直接使用 $content = '<p>欢迎访问<a href="https://example.com" target="_blank">官方网站</a>,也可以查看<a href="https://example.com/guide" target="_blank">使用教程</a>获取更多帮助。</p>'; return $content; }
- 方案3:用Heredoc语法(推荐,适合大量HTML内容的场景)
如果你的默认内容很长、包含大量HTML标签和链接,用PHP的Heredoc语法最省心,不需要转义任何引号,格式也能保持可读性,自定义分隔符前后不要有多余空格即可,示例代码:
add_filter( 'default_content', 'my_editor_content' ); function my_editor_content( $content ) { // Heredoc写法,内部HTML可直接写双引号,格式清晰 $content = <<<HTML_CONTENT <p>这是默认文章的开头段落,你可以点击<a href="https://example.com" target="_blank">站点首页</a>查看最新内容,也可以访问<a href="https://example.com/faq" target="_blank">常见问题</a>页面解决使用疑问,还可以通过<a href="https://example.com/contact" target="_blank">联系页面</a>和我们反馈问题。</p> <h2>默认的二级标题</h2> <ul> <li>默认列表项1</li> <li>默认列表项2</li> </ul> HTML_CONTENT; return $content; }
注意事项
- 所有代码都需要添加到子主题的
functions.php文件顶部,不要放在PHP闭合标签?>后面,如果文件末尾有该标签可以直接删掉,避免额外报错 - 编辑代码前建议先备份原
functions.php文件,避免语法错误导致站点无法访问
内容的提问来源于stack exchange,提问作者Mike M.
相关产品推荐
相关产品推荐

