这是我的代码:
function insert_post() {
global $wpdb;
if (!isset($_POST['data'])) {
exit;
}
$data = json_decode(stripslashes_deep($_POST['data']), true);
$title = $data['post_title'];
$content = $data['post_content'];
$img = $data['post_thumbnail'];
$attach_id = $data['post_thumbnail'];
$review_post = array(
'post_title' => $title,
'post_content' => $content,
'post_status' => 'publish',
'post_category' => array( 34 ),
'filter' => true
);
$post_id = wp_insert_post( $review_post );
$review = get_post( $post_id );
$avatar = wp_get_attachment_image( $img, 'full' );
$common_list = array();
$common_list['post'] = $review;
$common_list['post_thumbnail'] = $avatar;
$common_list['code'] = $code;
$common_list['fb'] = $fb;
$common_list['gender'] = $gender;
echo json_encode( $common_list);
exit;
}
add_action('wp_ajax_insert_post', 'insert_post');
add_action('wp_ajax_nopriv_insert_post', 'insert_post');
问题是wp_insert_post()函数插入相同的帖子2次。找不到解决方案。是什么导致这种情况?
答案 0 :(得分:-1)
我找到了一个解决方案,这里是:
if (!get_page_by_title($title, 'OBJECT', 'post') ){
$review_post = array(
'post_title' => $title,
'post_content' => $content,
'post_status' => 'publish',
'post_category' => array( 34 ),
'filter' => true
)
}
;
检查是否存在具有相同标题的帖子,如果是,则不会调用wp_insert_post。