2012-01-07 4 views
1

Что я хочу сделать, это установить шаблон, и этот шаблон автоматически создаст страницу, например, когда страница abotu me создается при первой установке wordpress. как я могу это сделать? Как запустить SQL-файл при установке новой темы? поскольку страницы хранятся в базе данных, я могу просто загрузить страницу таким образом при установке темы, но у меня нет идей.Wordpress обо мне страница, репликация при установке новой темы

С наилучшими пожеланиями

ответ

0

Мой выше ответ для добавления сообщений. Ниже ответ для добавления страницы (он добавляет страницу на активации темы):

if (isset($_GET['activated']) && is_admin()){ 
    $new_page_title = 'This is the page title'; 
    $new_page_content = 'This is the page content'; 
    $new_page_template = ''; //ex. template-custom.php. Leave blank if you don't want a custom page template. 
    //don't change the code bellow, unless you know what you're doing 
    $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); 
     } 
    } 
} 
+0

взято из: http://wpsnipp.com/index.php/ function-php/create-page-on-theme-activation/ – JCHASE11

+0

Это сделало эту работу, большое спасибо! – user716495

0

Это, как сделать это на должности:

global $user_ID; 
$new_post = array(
'post_title' => 'My New Post', 
'post_content' => 'Lorem ipsum dolor sit amet...', 
'post_status' => 'publish', 
'post_date' => date('Y-m-d H:i:s'), 
'post_author' => $user_ID, 
'post_type' => 'post', 
'post_category' => array(0) 
); 
$post_id = wp_insert_post($new_post); 

Ниже страниц. См. this page для справки.

+0

приведенный выше код заходил в функции.php – JCHASE11

+0

см. Ниже ответ для страницы – JCHASE11

1

JCHASE, я согласен с wp_insert_post части, единственное, что я хотел бы предложить, используя действие крюк вместо $ _GET. Использование add_action ('after_setup_theme', 'my_initiation_function') было бы лучшим вариантом

Смежные вопросы