You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress自定义模板中重复li标签的循环实现咨询

用循环精简WordPress自定义模板重复代码

当然可以通过循环实现,彻底告别重复代码。只需要把所有字段的元键和对应标题整理成数组,然后循环遍历处理即可,具体实现如下:

步骤1:定义字段配置数组

先把你需要展示的所有自定义字段(包括已有的生日、年龄,以及其他20多个字段)整理成一个数组,每个元素包含两个信息:

  • meta_key:WordPress自定义字段的键(比如user_birthday)
  • label:前端要显示的标题(比如Birthday:)

步骤2:循环渲染字段

遍历这个数组,统一处理每个字段的取值、判断和HTML渲染:

<?php
// 定义所有需要展示的字段配置
$user_fields = [
    ['meta_key' => 'user_birthday', 'label' => 'Birthday:'],
    ['meta_key' => 'user_age', 'label' => 'Age:'],
    // 在这里继续添加其他20多个字段,比如:
    // ['meta_key' => 'user_gender', 'label' => 'Gender:'],
    // ['meta_key' => 'user_location', 'label' => 'Location:'],
];

// 获取当前文章ID
$post_id = get_the_ID();

// 循环处理每个字段
foreach ($user_fields as $field) {
    $meta_value = get_post_meta($post_id, $field['meta_key'], true);
    if (!empty($meta_value)) {
?>
        <li>
            <span class="min-w-[100px] mr-2 inline-block font-bold"><?php echo esc_html($field['label']); ?></span>
            <span class="text-slate-500"><?php echo esc_html($meta_value); ?></span>
        </li>
<?php
    }
}
?>

说明

  • 以后要新增/修改字段,只需要在$user_fields数组里添加或修改元素即可,不用重复写判断和HTML结构,维护起来非常方便。
  • 代码里用了esc_html()来转义输出内容,避免XSS安全问题,这是WordPress开发的最佳实践。

内容的提问来源于stack exchange,提问作者Arif Hassan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 02:22:49