所以我希望我的插件将当前用户的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'],
));
答案 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>';
}