我有single-mypost.php来显示mypost单个帖子, 用户可以在其中提交msgs的表单(msgs是私人消息的另一种自定义帖子类型)。当用户提交表单时, 新帖子会完美添加到msg中, 但单个mypost自定义字段将变为空。我已经添加了代码正在使用
<
form method="post" action="" class="gform" onSubmit="return validatebid()">
<
h2>
Message<
/h2>
<
input type="hidden" name="msgfor" value="http://www.srcmini.com/<
?php echo $post->
ID;
?>"/>
<
input type="hidden" name="msgby" value="http://www.srcmini.com/<
?php echo get_current_user_id();
?>"/>
<
input type="hidden" name="msgdate" value="http://www.srcmini.com/<
?php echo date('Y-m-d H:i:s');
?>
"/>
<
div class="row">
<
label>
Message<
/label>
<
div class="field">
<
textarea name="textareafield">
<
/textarea>
<
/div>
<
/div>
<
div class="row">
<
input type="hidden" name="task" value="http://www.srcmini.com/msg" />
<
input type="submit" name="submit" class="red-btn" value="http://www.srcmini.com/Message Now"/>
<
/div>
<
/form>
一旦用户提交表单, 我就会使用wp_insert_post插入帖子。我在get_header之前添加的代码。
if ( isset( $_POST[ 'task' ] ) &
&
$_POST[ 'task' ] == 'msg' ) {
$post_info = array(
'post_title' =>
wp_strip_all_tags( $_POST[ "msgfor" ] . '-' .
$_POST[ "msgby" ] . '-' . $_POST[ "msgdate" ] ), 'post_content' =>
$_POST[ 'textareafield' ], 'post_type' =>
'msgs', 'post_status' =>
'publish'
);
$pid = wp_insert_post( $post_info );
echo $pid;
update_post_meta( $pid, "msgfor", $_POST[ "msgfor" ] );
update_post_meta( $pid, "msgby", $_POST[ "msgby" ] );
update_post_meta( $pid, "msgdate", $_POST[ "msgdate" ] );
}
#1请加
<
?php if ( isset( $_POST[ 'textareafield' ] ) ) {
echo $_POST[ 'textareafield' ];
}?>
【单个{customposttype}.php中的函数wp_insert_post()清除自定义字段】之间< textarea name =” textareafield” > < / textarea>
#2我认为代码的第二部分应该在单独的文件中, 它看起来像这样:
require('wp-load.php');
// make sure that it is the correct path to this file... your code here ...
作为一种选择, 使用wp_ajax_ action钩子通过AJAX提交表单。
关键思想不是在single-mypost.php模板中使用wp_insert_post()。
推荐阅读
- “元宇宙”究竟是什么
- WordPress主题说明的全宽
- 格式化WordPress主题中的PHP生成的HTML,用于站点文本logo
- 忘记制作子主题-现在可以完成吗()
- 在H3标签旁边向右浮动图片
- 修复WooCommerce Shop页面行
- 在WordPress中查找Google字体的来源
- 找到一个过程来检查帖子中是否存在短代码(我的尝试有误)
- 使用WordPress过滤搜索结果