You need to enable JavaScript to run this app. WordPress开发中如何为_e()函数输出的文本设置样式?
优惠活动
大模型
产品
解决方案
定价
更多

WordPress开发中如何为_e()函数输出的文本设置样式?

为WordPress翻译函数输出的内容添加自定义样式的方法

你完全不需要把样式写在翻译字符串内部,按照WordPress官方的i18n规范,只需要把样式结构和可翻译文本分离即可,常用实现方式有两种:

1. 直接将样式标签外置

HTML标签、样式规则属于页面结构内容,不需要参与翻译,直接把<p>标签写在_e()函数外部即可:

<p style="color: red;">
    <?php _e('Please enter a valid email address!', 'mytextdomain'); ?>
</p>

这种写法的优势是翻译流程完全不接触HTML代码,不会因为译员操作失误破坏页面结构、样式,是最简洁合规的实现方式。

2. 复杂场景用占位符拼接

如果输出逻辑更复杂,可以结合sprintf()把固定样式和可翻译文本做拆分,只把需要翻译的文本作为占位符传入:

<?php
echo sprintf(
    '<p style="color: red;">%s</p>',
    __('Please enter a valid email address!', 'mytextdomain')
);
?>

这种写法适合需要在文本前后拼接多个变量、HTML片段的场景,同样能避免把HTML代码暴露给翻译环节。

注意事项

  • 不要直接把带内联样式的完整HTML字符串传给翻译函数,比如这种写法是不推荐的:
    // 不推荐写法
    _e('<p style="color:red;">Please enter a valid email address!</p>', 'mytextdomain');
    
    这种写法会把所有HTML代码暴露给翻译流程,很容易出现译员误删标签、破坏样式甚至引入安全问题的情况。
  • 长期维护的话,建议把内联样式替换为固定class,比如写成<p class="email-validate-error">,再把对应的样式规则写到插件独立的CSS文件里,后续调整样式不需要修改PHP代码,也更容易和主题样式做兼容。
  • 记得在插件初始化阶段正确加载插件文本域,否则翻译函数会直接输出原始英文文本,不会触发本地化翻译逻辑。

内容的提问来源于stack exchange,提问作者Kc Tan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.23 10:54:04