首页 > 解决方案 > wordpress 中的自定义复选框字段未注册

问题描述

我正在使用带有 X 数量的表单字段的 WordPress 主题,但我需要主题未提供的附加字段。因此,我尝试添加自己的字段,但该字段始终以“NULL”的形式插入数据库中。

表单字段是一个简单的复选框,HTML 代码如下所示

   <div class="form-group" syle="margin-left:5%;">
            <p><br><br><br>
                <input type="checkbox" id="expert" name="ai" value="E" >
                <label for="expert">Expert</label>
            </p>
        </div>

并且我添加了以下 PHP 以查看它是否被选中

<?php
if (isset($_POST["submit"])) {


    if (isset($_POST["ai"])) {
        if($_POST["ai"] == "E"){
            $_POST["ai"] == "E";
        }
        else{
            $_POST["ai"] == "N";
        }


    }

    ?>

我已经尝试复制主题向数据库添加字段的方法,成功添加了一个名为“petition_user_ai”的字段,但始终包含 NULL,它是通过这个 php 添加的

//line1010
        update_user_meta( $user_id, 'petition_user_ai',  $user[ 'ai' ], true );

//line399
        $ai     = get_user_meta( $user_id, 'petition_user_ai', true );

在pastebin中查看整个 php 文件

标签: phpwordpress

解决方案


==在赋值中删除。假设在 if 条件之前,您在$_post.

if (isset($_POST["ai"])) {
    if($_POST["ai"] == "E"){
        $_POST["ai"] = "E";
    }
    else{
        $_POST["ai"] = "N";
    }
}
 $user = wp_get_current_user();
 update_user_meta( $user->id , 'petition_user_ai',  $_POST[ 'ai' ], true );

推荐阅读