Wordpress:使用get_current_user_id()插入到我的WPDB表中

时间:2016-08-31 10:43:51

标签: php mysql wordpress insert

所以我希望我的插件将当前用户的ID插入到我的表中," wp_ml_char"。 问题是,它没有真正插入它;没有任何反应,也没有显示错误。这个表单只是要求我输入一个名字,但它也有一个隐藏的"输入类型,用于获取当前存在的任何用户ID。我无法确定原因的确切位置,但它可能是隐藏的"输入线我做了。提前感谢任何有帮助的人!

 // Character creation form. Grab the current user's ID.
require_once('/home/mythlarp/public_html/wp-includes/user.php');
$wpid = get_current_user_id();

function html_form_code() {
    echo '<form action="index.php" method="post">';
    echo '<input type="hidden" name="wp_id" value="<?php echo $wpid; ?>" />';
    echo '<p>';
    echo 'Character Name (required) <br />';
    echo '<input type="text" name="ml_char_name" pattern="[a-zA-Z]+" value=""' . ( isset( $_POST["ml_char_name"] ) ? esc_attr( $_POST["ml_char_name"] ) : '' ) . '" size="40" />';
    echo '</p>';
    echo '<p><input type="submit" name="cf-submitted" value="Send"/></p>';
    echo '</form>';
}

// Insert form data.
$wpdb->insert('$table_name', array(
    'ml_char_name' => $_POST['ml_char_name'],
    'wp_id' => $_POST['wp_id'],
));

这是表单的样子。 Character creation form. 这是表格的样子。 enter image description here

1 个答案:

答案 0 :(得分:1)

尝试编写像这样的函数

function html_form_code($wpid) {
    echo '<form action="index.php" method="post">';
    echo '<input type="hidden" name="wp_id" value="'.$wpid.'" />';
    echo '<p>';
    echo 'Character Name (required) <br />';
    echo '<input type="text" name="ml_char_name" pattern="[a-zA-Z]+" value=""' . ( isset( $_POST["ml_char_name"] ) ? esc_attr( $_POST["ml_char_name"] ) : '' ) . '" size="40" />';
    echo '</p>';
    echo '<p><input type="submit" name="cf-submitted" value="Send"/></p>';
    echo '</form>';


}