Создание страницек через functions.php
Как можно настроить в файле functions.php создание страничек чтобы не создавать их вручную через админпанель. Нужно учесть еще то, что сайт буде мыльтиязичным
А почему бы CLI не юзать?
А так, через wp_insert_post(), если надо могу пример накатать
Если не сильно затруднить, буду очень благодарен тебе добрый человек!
Примерно вот основная конструкция добавления страницы
// Параметры страницы
$page = array(
'post_title' => 'Название страницы',
'post_content' => 'Текст страницы',
'post_status' => 'publish',
'post_author' => 1,
'post_type' => 'page',
);
// Добавляем страницу на английском языке допустим, это язык главный
$page_id_en = wp_insert_post($page);
// Перевод страницы на французский язык
$page_id_fr = wp_insert_post(array_merge($page, array(
'post_title' => 'Загаловок на французком',
'post_content' => 'Текст страницы на французском языке',
'icl_translations' => array($page_id_en => array(
'element_type' => 'post_page',
'language_code' => 'fr',
'source_language_code' => 'en',
'trid' => wpml_get_content_trid('post_page', $page_id_en),
)),
)));
// Перевод страницы на немецкий язык
$page_id_de = wp_insert_post(array_merge($page, array(
'post_title' => 'Заголовок на немецком',
'post_content' => 'Контент на немецком',
'icl_translations' => array($page_id_en => array(
'element_type' => 'post_page',
'language_code' => 'de',
'source_language_code' => 'en',
'trid' => wpml_get_content_trid('post_page', $page_id_en),
)),
)));
Вопрос как применять это... каким образом вы ходите запускать создание страницы? Можно например обернуть в функцию и через нее запускать. Только зачем вам это, есть WP CLI, там просто по команде запускаем
wp post create --post_type=page --post_title='Заголовок страницы основного языка' --post_content='Контент страницы основного языка' --post_status=publish
Ну и перевод к ней на франц например
wp post create --post_type=page --post_title='Заголовок на французком например' --post_content='Контент страницы на французком языке' --post_status=publish --post_parent=ТУТ_ИД_СТРАНИЦЫ --meta_input='_wpml_lang_code=fr'
Или я задачу не понял? Тогда поясните более подробно
Спасибо большое, пока думаю так буду справляться. Но спасибо за совет, буду разбираться с CLI
Тогда решение найдено. Через WP CLI
Создаем страницу:
Создаем перевод: