PHP语法错误求助:添加data-tippy-content属性时报错排查
问题分析与解决
你的代码出现语法错误有两个核心原因:
- 错误在字符串拼接中使用了
echo语句:echo是PHP的输出命令,不能嵌入到字符串拼接的表达式里,应该直接调用函数获取返回值进行拼接。 - 单引号冲突:
get_post_meta($post->ID, 'Author', true)中的单引号'Author',和包裹data-tippy-content属性值的单引号边界冲突,导致PHP无法正确解析字符串。
修正后的代码如下(同时添加了esc_attr()做转义,避免HTML属性的安全和语法问题):
<?php the_title( '<a href="' . esc_url( get_permalink() ) . '" rel="bookmark" class="modal-link" data-tippy-content="' . esc_attr( get_post_meta($post->ID, 'Author', true) ) . '">', '</a>' ); ?>
关键修正点
- 移除了多余的
echo,直接用.拼接get_post_meta()的返回值 - 使用
esc_attr()转义元数据内容,确保输出到HTML属性中的内容符合规范且安全 - 调整了字符串拼接的逻辑,避免单引号边界冲突
内容的提问来源于stack exchange,提问作者alexander
相关产品推荐
相关产品推荐

