Как программно создать страницу при активации темы?
Одним из очень частых вопросов при создании темы для WordPress является вопрос о программном создании страниц или записей. Многие темы (как и плагины) нуждаются в создании дополнительных страниц или записей для каких-то своих целей, так как это сделать? На самом деле вариантов много. Я предлагаю код, который создает страницы при переключении тем (это удобнее, чем при активации темы). Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
//создание страницы при переключении темы start function wph_switch_theme() { $new_page_title = 'Созданная при активации темы страница'; $new_page_content = 'Контент страницы'; $new_page_template = ''; //указывается шаблон страницы (если надо) $page_check = get_page_by_title($new_page_title); $new_page = array( 'post_type' => 'page', 'post_title' => $new_page_title, 'post_content' => $new_page_content, 'post_status' => 'publish', 'post_author' => 1, ); if(!isset($page_check->ID)){ $new_page_id = wp_insert_post($new_page); if(!empty($new_page_template)){ update_post_meta($new_page_id, '_wp_page_template', $new_page_template); } } } add_action('switch_theme', 'wph_switch_theme'); //создание страницы при переключении темы end |
Этот сниппет удобен тем, что пользователь всегда может пересоздать служебные страницы, просто переключившись на дефолтную тему и обратно. Причем, в коде встроена проверка на существование страницы с указанным заголовком, а поэтому страницы не будут бесконтрольно размножаться при каждом переключении темы.
Добрый день, а как компактно написать код для добавления нескольких страниц? Спасибо.
никак - используйте этот код.