所以我希望我的插件将当前用户的 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'],
));
最佳答案
尝试像这样编写你的函数
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>';
}
关于php - WordPress:使用 get_current_user_id() 插入到我的 WPDB 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39247459/