2014-09-04 38 views
0

添加子頁我使用這個功能,加上主題啓動新頁面:WordPress的創建對主題的激活頁面 - 使用此功能

/************************************************* 
** Add home page 
*************************************************/ 

if (isset($_GET['activated']) && is_admin()){ 
     $new_page_title = 'Home'; 
     $new_page_content = ''; 
     $new_page_template = 'template-home.php'; 
     $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 new pages 
*************************************************/ 



/************************************************* 
** Add home page 
*************************************************/ 

if (isset($_GET['activated']) && is_admin()){ 
     $new_page_title = 'Home'; 
     $new_page_content = ''; 
     $new_page_template = 'template-home.php'; 
     $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 About Us page 
*************************************************/ 

if (isset($_GET['activated']) && is_admin()){ 
     $new_page_title = 'About Us'; 
     $new_page_content = 'Coming Soon'; 
     $new_page_template = 'template-page-with-subnav.php'; 
     $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 Meet the Staff 
     *************************************************/ 

     if (isset($_GET['activated']) && is_admin()){ 
       $new_page_title = 'Meet the staff'; 
       $new_page_content = 'Coming Soon'; 
       $new_page_template = 'template-page-with-subnav.php'; 
       $post_parent = ''; 
       $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, 
         'post_parent' => $post_parent, 
       ); 
       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); 
         } 
       } 
     } 

我想知道的是如何設置父後的子頁面?

看起來好像後父母設置爲'post_parent'=> [] //設置新帖子的父級,如果有的話。默認爲0。

但說我加入關於我們使用這種方法,那麼要添加滿足未來功能的工作人員,我如何才能滿足員工的ID?

乾杯

回答

0

$ new_page_id持有剛剛創建的頁面的ID(因爲wp_insert_post函數的返回值是創建的帖子或網頁的帖子ID)。

目前,雖然這是每次創建新頁面時被覆蓋。

所以,你可以使用一個新的變量在每次創建一個頁面時的頁面ID,即改變$ new_page_id存儲到$ about_page_id,$ home_page_id等爲每個頁面創建。例如。

$about_page_id = wp_insert_post($new_page); 

然後才能夠設置「post_parent」你需要創建父頁面第一讓你有相應的ID來使用的子頁面。並添加到頁面創建陣列,例如

$new_page = array(
      'post_type' => 'page', 
      'post_title' => $new_page_title, 
      'post_content' => $new_page_content, 
      'post_status' => 'publish', 
      'post_author' => 1, 
      'post_parent' => $about_page_id 
    );