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

如何为WordPress博客添加自定义可编辑复选框属性?

如何在WordPress站点编辑页面添加自定义站点属性复选框

可以实现自定义站点属性的添加,核心是利用WordPress针对站点(Site)级别提供的钩子来完成字段渲染和数据保存,以下是具体方案:

1. 核心钩子说明

针对多站点环境的「编辑站点」页面,WordPress提供了两个关键钩子:

  • wpmu_edit_site_form_fields:用于在站点编辑表单中插入自定义字段
  • edit_site_update:用于在站点信息更新时保存自定义属性数据

如果是单站点环境,可将钩子替换为admin_init(用于在站点设置页面添加字段)和update_option_{option_name}(保存数据),逻辑类似。

2. 代码实现示例

步骤1:添加自定义复选框到站点编辑页面

// 在多站点的站点编辑页面插入自定义复选框
add_action( 'wpmu_edit_site_form_fields', 'render_custom_site_attribute_checkbox' );
function render_custom_site_attribute_checkbox( $blog ) {
    // 获取当前站点已保存的属性值,默认未勾选
    $is_featured = get_site_option( 'site_is_featured', false, $blog->blog_id );
    ?>
    <tr class="form-field">
        <th scope="row"><label for="site_is_featured">精选站点</label></th>
        <td>
            <input type="checkbox" name="site_is_featured" id="site_is_featured" <?php checked( $is_featured, true ); ?> />
            <p class="description">标记该站点为平台精选站点</p>
        </td>
    </tr>
    <?php
}

步骤2:保存自定义属性数据

// 保存站点更新时的自定义属性
add_action( 'edit_site_update', 'save_custom_site_attribute_data' );
function save_custom_site_attribute_data( $blog_id ) {
    // 验证权限:仅允许管理站点的用户操作
    if ( ! current_user_can( 'manage_sites' ) ) {
        return;
    }

    // 处理复选框提交数据:存在则为true,否则为false
    $featured_status = isset( $_POST['site_is_featured'] ) ? true : false;
    update_site_option( 'site_is_featured', $featured_status, $blog_id );
}

3. 扩展说明

  • 你可以按照上述模式添加多个自定义复选框(比如Verified、Premium等),只需复制代码块并修改属性名称和描述即可。
  • 自定义属性数据存储在**站点选项(Site Option)**中,每个站点独立存储,和文章/页面的元数据逻辑一致,但属于站点级别。
  • 若要在前端或其他后台场景调用该属性,直接使用get_site_option( 'site_is_featured', false, $blog_id )即可获取值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 22:07:49