所以我有一个用户填写的正面表格。它是强制性的,因此替换帖子内容直到它们被填满。我想把它保存到我创建的表中......我遗漏了一些东西,但我不确定是什么。
最终我会将表格包装在if中,以确定用户是否提交了表单,但就目前而言,我只是想让血腥的东西起作用!
谢谢大家。
<?php function make_user_feedback_form() {
global $current_user;
if ( is_user_logged_in() ) {
$ufUserID = $current_user->ID;
$ufResponses = serialize($_POST['responseFields']);
if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'updateFeedback' ) {
$ufDataUpdate = $wpdb->insert( 'wp_user_feedback', array( 'date' => current_time('mysql'), 'user' => $ufUserID, 'responses' => $ufResponses ) );
}?>
<ol>
<form method="post">
<li>Question 01<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 02<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 03<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 04<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 05<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 06<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 07<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 08<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 09<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 10<br /><input type="text" id="responseFields[]" value="" /></li>
<li><input name="submit" type="submit" id="submit" class="submit button" value="Send feedback" /></li>
<?php wp_nonce_field( 'updateFeedback' ); ?>
<input name="action" type="hidden" id="action" value="updateFeedback" />
</form>
</ol>
<?php }
}
add_action('the_content','make_user_feedback_form');
?>
答案 0 :(得分:2)
再次,单引号打破了序列化($ _ POST [“responseFields”])部分,我不得不调用$ wpdb,看起来在字段上使用名称(而不是id)更好?无论如何,下面的代码工作。
<?php function make_user_feedback_form() {
global $wpdb;
global $current_user;
if ( is_user_logged_in() ) {
$ufUserID = $current_user->ID;
$ufResponses = serialize($_POST["responseFields"]);
if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'updateFeedback' ) {
$ufDataUpdate = $wpdb->insert( 'wp_user_feedback', array( 'date' => current_time('mysql'), 'user' => $ufUserID, 'responses' => $ufResponses ) );
}?>
<ol>
<form method="post">
<li>Question 01<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 02<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 03<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 04<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 05<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 06<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 07<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 08<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 09<br /><input type="text" id="responseFields[]" value="" /></li>
<li>Question 10<br /><input type="text" id="responseFields[]" value="" /></li>
<li><input name="submit" type="submit" id="submit" class="submit button" value="Send feedback" /></li>
<?php wp_nonce_field( 'updateFeedback' ); ?>
<input name="action" type="hidden" id="action" value="updateFeedback" />
</form>
</ol>
<?php }
}
add_action('the_content','make_user_feedback_form');
?>