Je dois single-mypost.php pour afficher le post unique mypost, dans lequel l'utilisateur peut soumettre un formulaire pour msgs (msgs est un autre type de message personnalisé pour les messages privés). Lorsque l'utilisateur soumet un nouveau formulaire, il est parfaitement ajouté à msgs mais les champs personnalisés mypost changent à vide. J'ai ajouté du code à l'aide une fois je suis utilisateur soumet le formulairefonction wp_insert_post() à l'intérieur de single- {customposttype} .php effacement des champs personnalisés
<form method="post" action="" class="gform" onSubmit="return validatebid()">
<h2>Message</h2>
<input type="hidden" name="msgfor" value="<?php echo $post->ID; ?>"/>
<input type="hidden" name="msgby" value="<?php echo get_current_user_id(); ?>"/>
<input type="hidden" name="msgdate" value="<?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="msg" />
<input type="submit" name="submit" class="red-btn" value="Message Now"/>
</div>
</form>
am utilise wp_insert_post pour insérer poste. code que j'ai ajouté avant 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" ]);
}
Incluez tout le code requis, en particulier l'action que vous utilisez pour l'insertion. –
merci pour répondre bro, ce le formulaire avec des champs et une fois que l'utilisateur soumet suis en utilisant "wp_insert_post". c'est le code de la fonction que j'ai ajouté. –