Поддержка Проблемы и решения Почему wp_insert_post выдает 0 при $wp_error = true?

  • Решено gerbulov

    (@gerbulov)


    Передаю через ajax массив для постинга в wordpress c фронтенда в бекенд (разные домены).
    Отсюда:

    $custom_fields = array();
    $custom_fields[$sizef] = $_REQUEST['sizef'];
    $custom_fields[$topf] = $_REQUEST['topf'];
    
    $post_data = array(
        'post_title' => $_REQUEST['title'],
        'post_content' => $_REQUEST['mytextarea'], // передаем значение из TinyMCE
        'post_status' => 'publish',
        'post_author' => 1,
        'post_category' => array($_REQUEST['cat']),
        'post_name' => $_REQUEST['slug'],
        'post_type' => 'post',
        'meta_input' => $custom_fields,
    );
    $json_postdata = json_encode($post_data);
    echo '<a id="publish" href="#">Опубликовать пост</a>';

    Это запрос, который отправляет POST через ajax:

    $(document).ready(function () {
            var poste_data = JSON.stringify(<?php echo $json_postdata; ?>);
            var poste_data = JSON.parse(poste_data);
            function postit(id_url) {
                $('#ebobo').addClass('hide');
                $.ajax({
                    url: '<?php echo $url_obrabotka . 'post.php'; ?>',
                    type: 'POST',
                    timeout: 600000,
                    data: {
                        "title": "<?php echo $h1c ?>",
                        "poste_data": poste_data
                    },
                }).done(function (kar) {
                    $('.result').html(kar);
                }).fail(function () {
                    console.log('Error:', data);
                });
            }
    
            $("#publish").click(function () {
                postit();
            })
        });

    Сюда:

    echo $post_it = wp_insert_post ($_REQUEST['poste_data']);
    if( is_wp_error($post_id) ){
        echo $post_id->get_error_message();
    }
    else {
        echo $post_id;
    }

    На выходе постинг происходит, но $post_id возвращается на id поста, а просто 0. В чем может быть ошибка и как найти ошибку?…

Просмотр 2 ответов — с 1 по 2 (всего 2)
Просмотр 2 ответов — с 1 по 2 (всего 2)