php - 将表单值保存到 wordpress 数据库中

标签 php database wordpress forms plugins

我正在创建一个 wordpress 插件,我想将单选按钮值保存到 wordpress 数据库中,以便稍后在其他功能上使用它。但我不知道该怎么做。我尝试使用 session ,但 session 过期时此值丢失。你能告诉我怎么做吗?

这是我的代码:

function e_option_page() { ?>
    <form action="" id="testimonialsform" method="post">
        <input type="radio" name="Option" value="Option 1">Option 1
        <input type="radio" name="Option" value="Option 2">Option 2
        <input type="radio" name="Option" value="Option 3">Option 3
        <input type="submit" name="submit" value="Submit" />
    </form>
    <?php
    if (isset($_POST['submit'])) {
        if(isset($_POST['Option'])){    
            echo "You have selected :".$_POST['Option'];  //  Displaying Selected Value
        }//End isset
    }//End isset
}//End function


function e_setting_page() {
    add_submenu_page('edit.php?post_type=testimonials', 'Settings', 'Settings', 'edit_posts', "settings",'e_option_page');
}

add_action('admin_menu' , 'e_setting_page'); 

最佳答案

您可以在"wp_usermeta" 表中保存任何选项值。

if (isset($_POST['submit'])) {
    if(isset($_POST['Option'])){
        //echo "You have selected :".$_POST['Option'];  //  Displaying Selected Value
        // Save data 
        global $wpdb;
        $table = $wpdb->prefix.'usermeta';
        $data = array('meta_key' => 'your_option_name', 'meta_value' => $_POST['Option']);
        $format = array('%s','%s');
        $wpdb->insert($table,$data,$format);
        $my_id = $wpdb->insert_id;
        print_r($my_id);
    }//End isset
}//End isset

之后你可以使用这个为你选择的值。

现在您可以检查选项值。

// So check and make sure the stored value matches $new_value.
if ( $new_value = get_user_meta( $user_id=0,  'your_option_name', true ) ) {
    echo $new_value;
}else{
    wp_die( __( 'An error occurred', 'textdomain' ) );
}

你也可以更新元键

// Will return false if the previous value is the same as $new_value.
$updated = update_user_meta( $user_id=0, 'your_option_name', 'new_value' );

关于php - 将表单值保存到 wordpress 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40776301/

相关文章:

php - ElasticSearch 正则表达式 pattern_replace

php - 如何将类添加到侧边栏小部件的 <ul> 和子元素 <li> - Wordpress

php - Mailgun PHP API 于 2018 年 1 月 23 日更改 SSL 证书错误未使用新的 cacert.pem 文件解决

php - 多重连接和条件全部在一起

database - python中的远程Oracle DB连接

css - Wordpress Html5 空白不阅读 style.css

java - 在 JDBI RowMapper 中映射 Json

java - 使用色差比较图像

php - 禁用 woocommerce_checkout_update_customer_data

php - 如何将我的外部 css 文件包含到我的插件中