Поддержка Проблемы и решения Не присваивается родительская страница

  • Опубликую страницу (тип page) на моем WP сайте .
    Это я делаю путем отправки POST запроса на мой сайт.

    Добавил в файл functions.php на моей WP темы код (см ниже), который принимает данные от post запроса и создает с этими данными страницу (тип page).

    Страница нормально создаётся если я в переменой VZIALI_ODIN_JAZIK передаю значение ru, и страница создаётся такая: https://transscreen.ru/news9999

    НО! Если в переменой VZIALI_ODIN_JAZIK передаю значение например en то страница не создаётся вообще, хотя статут ответа от POST запроса приходит 200.

    Хотя в коде я указал что если в VZIALI_ODIN_JAZIK стоят данные отличные от ru, то нужно создать дочернюю страницу присвоив ей эту родительскую страницу https://transscreen.ru/en/ (у родительской страницы такой id: 42673) и вроде создаваемая страница должна создастся с таким url: https://transscreen.ru/en/news9999

    Вопрос: Почему при создании дочерней страницы ей не присваивается родительская страница https://transscreen.ru/en/ ?

    Код в файле functions.php который за это отвечает:

    // Определение пароля для проверки запросов
    $my_special_password = "F6f*****СкрылДляВопроса*******0tf";
    
    // ID родительской страницы
    $parent_page_id = 42673;
    
    // Функция для проверки пароля
    function check_request_password() {
        global $my_special_password;
    
        if (isset($_REQUEST['password']) && $_REQUEST['password'] === $my_special_password) {
            return true;
        }
        return false;
    }
    
    // Функция для создания страницы
    function create_translated_page() {
        global $parent_page_id;  // Используем глобальную переменную
    
        if (!check_request_password()) {
            return;
        }
    
        $title = isset($_REQUEST['A_TITLE']) ? $_REQUEST['A_TITLE'] : 'No Title';
        $content = "<br><br><br><img rel='preload' as='image' title='{$_REQUEST['PODPIS_TITILE_DLA_KARTINKI_DLA_INDEX_YANDEX_GOOGLE']}' src='https://transscreen.ru/all_webp_images/{$_REQUEST['G_PRISTAVKA_DLA_WEBP_KARTINKI']}' alt='{$_REQUEST['PODPIS_TITILE_DLA_KARTINKI_DLA_INDEX_YANDEX_GOOGLE']}' rel='nofollow' width='675' height='{$_REQUEST['IMAGE_HEIGHT']}' class='alignnone size-medium' /> <br><br> {$_REQUEST['TEXT_BOLSHOY_STATIY']}";
    
        $language = isset($_REQUEST['VZIALI_ODIN_JAZIK']) ? strtolower(trim(strval($_REQUEST['VZIALI_ODIN_JAZIK']))) : '';
        $url_end = isset($_REQUEST['E_PRISTAVKA_K_URL_NEWS_ZIFRA']) ? $_REQUEST['E_PRISTAVKA_K_URL_NEWS_ZIFRA'] : '';
    
            // Формируем конечный URL
             $full_page_slug = $url_end;
    
        $page = array(
            'post_title'    => $title,
            'post_content'  => $content,
            'post_status'   => 'publish',
            'post_type'     => 'page',  
            'post_name'     => $full_page_slug,
        );
    
        // Если язык не 'ru', устанавливаем родительскую страницу
        if ($language !== 'ru') {
            $page['post_parent'] = $parent_page_id;
        }
    
        // Создание страницы и логирование возможных ошибок
        $result = wp_insert_post($page, true);
        if (is_wp_error($result)) {
            error_log($result->get_error_message());
        }
    }
    
    // Добавляем функцию create_translated_page к инициализации WordPress
    add_action('init', 'create_translated_page');

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 1 ответа (всего 1)
Просмотр 1 ответа (всего 1)