Опубликую страницу (тип page) на моем WP сайте .
Это я делаю путем отправки POST запроса на мой сайт.
Добавил в файл
functions.php на моей WP темы код (см ниже), который принимает данные от post запроса и создает с этими данными страницу (тип page).
Страница нормально создаётся если я в переменой
VZIALI_ODIN_JAZIK передаю значение
ru, и страница создаётся такая:
https://t********n.ru/news9999
НО! Если в переменой
VZIALI_ODIN_JAZIK передаю значение например
en то страница не создаётся вообще, хотя статут ответа от POST запроса приходит
200.
Хотя в коде я указал что если в
VZIALI_ODIN_JAZIK стоят данные отличные от ru, то нужно создать дочернюю страницу присвоив ей эту родительскую страницу
https://t********n.ru/en/
(у родительской страницы такой id: 42673) и вроде создаваемая страница должна создастся с таким url:
https://t********n.ru/en/news9999
Вопрос: Почему при создании дочерней страницы ей не присваивается родительская страница?
Код в файле 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://t***СкрылДляВопроса***n.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');