我正在尝试强制使用前端表单创建匿名帖子或具有设置用户ID的帖子
以下是我传递给wp_insert_post的数组
array('post_title' => $title,
'post_content' => 'Test',
'post_status' => 'draft',
'post_type' => 'post',
'post_author' => 2)
当用户退出或“匿名”时,我试图将post_author强制为2,但似乎没有成功,这似乎没有用。
(这与ajax请求有关。答案如下。)
对此的任何支持都将不胜感激。
答案 0 :(得分:0)
以下是我将使用的完整代码:
<?php
if ( is_user_logged_in() ) {
$userID = get_current_user_id();
}else {
$userID = 2;
}
$frontEndPost = array(
'post_title' => esc_html($title),
'post_content' => $content,
'post_status' => 'draft',
'post_author' => $userID,
);
wp_insert_post( $frontEndPost );
?>
这是经过测试并且工作正常,如果这不起作用我会猜你没有将标题传递给帖子。
答案 1 :(得分:0)
当注销时,你无法调用以下操作
add_action("wp_ajax_submit_data", "dc_form_submit");
你必须使用以下
add_action("wp_ajax_nopriv_submit_data", "dc_form_submit");
您必须同时列出这两个操作,以便ajax请求成功发布到admin-ajax.php,以便登录和注销用户。
add_action("wp_ajax_submit_data", "dc_form_submit");
add_action( 'wp_ajax_nopriv_submit_data', "dc_form_submit");