wp_insert_post函数插入相同的帖子2次

时间:2015-02-11 13:17:56

标签: wordpress

这是我的代码:

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次。找不到解决方案。是什么导致这种情况?

1 个答案:

答案 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。