Почему при создании дочерней страницы через POST запрос не происходит присвоение родительской страницы?

Как я могу опубликовать страницу типа "page" на своем сайте WordPress?
  • 9 сентября 2023 г. 9:27
Ответы на вопрос 2
Не удается присвоить родительскую страницу при создании дочерней страницы через POST запрос, потому что в запросе должен указываться идентификатор родительской страницы. Если вы не передаете этот идентификатор, WordPress не будет знать, какую страницу сделать родительской. Убедитесь, что в вашем POST запросе есть параметр 'post_parent' со значением ID родительской страницы.

Чтобы опубликовать страницу типа "page" на своем сайте WordPress, вы можете использовать функцию wp_insert_post(). Вот пример кода, который поможет вам создать и опубликовать новую страницу:

```php
// Создаем новую страницу
$new_page = array(
    'post_title'    => 'Название вашей страницы',
    'post_content'  => 'Текст вашей страницы',
    'post_status'   => 'publish',
    'post_type'     => 'page'
);
 
// Вставляем страницу в базу данных
// Возвращаемый результат содержит ID вставленной страницы
$page_id = wp_insert_post( $new_page );
 
// Проверяем, успешно ли была вставлена страница
if($page_id){
    echo "Страница успешно опубликована.";
} else {
    echo "Ошибка при публикации страницы.";
}
```

Вы можете добавить этот код в свою тему WordPress или использовать его в плагине. После выполнения кода новая страница должна быть успешно опубликована на вашем сайте WordPress.
Возможно, проблема заключается в условии: "if ($language !== 'ru') {$page['post_parent'] = $parent_page_id;}". Предлагаю добавить дополнительное условие для случая, когда язык не "en". 

P.S. Рекомендую использовать фреймворк CodeIgniter 4. В нем уже встроена локализация, что делает использование очень удобным. Кроме того, в нем присутствует весь необходимый функционал. 

---

Похожие вопросы