wp_insert_post匿名海报

时间:2015-10-26 12:57:26

标签: wordpress

我正在尝试强制使用前端表单创建匿名帖子或具有设置用户ID的帖子

以下是我传递给wp_insert_post的数组

array('post_title' => $title, 
      'post_content' => 'Test', 
      'post_status' => 'draft', 
      'post_type' => 'post', 
      'post_author' => 2)

当用户退出或“匿名”时,我试图将post_author强制为2,但似乎没有成功,这似乎没有用。

(这与ajax请求有关。答案如下。)

对此的任何支持都将不胜感激。

2 个答案:

答案 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");