2014-09-04 3 views
0

J'utilise cette fonction pour ajouter de nouvelles pages sur l'activation du thème:Wordpress Créer des pages sur l'activation du thème - ajouter des pages enfants en utilisant cette fonction

/************************************************* 
** 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); 
       } 
     } 
} 

En utilisant jusqu'à ce bout et je suis désireux de créer un bon nombre de pages .

i.e.

/************************************************* 
** 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); 
         } 
       } 
     } 

Ce que je voudrais savoir est comment définir le parent de poste sur les pages de l'enfant?

Il semble que le post-parent soit défini avec 'post_parent' => [] // Définit le parent du nouveau message, le cas échéant. Par défaut 0.

Mais dire que je suis ajoutais de nous avec cette méthode, veux ajouter ensuite rencontrer le personnel dans la fonction suivante, comment puis-je l'id de rencontrer le personnel?

Vive

Répondre

0

$ new_page_id détient l'ID de la page vient d'être créé (parce que la valeur de retour de la fonction wp_insert_post est l'ID de poste du poste ou page créée).

Actuellement si cela est écrasé à chaque fois que vous créez une nouvelle page. Vous pouvez donc utiliser une nouvelle variable pour stocker l'ID de page chaque fois que vous créez une page, c'est-à-dire modifier $ new_page_id à $ about_page_id, $ home_page_id, etc. pour chaque création de page. Par exemple.

$about_page_id = wp_insert_post($new_page); 

Ensuite, pour être en mesure de régler le « post_parent » vous devez créer les pages parent premier donc vous avez l'ID approprié à utiliser pour les pages enfants. Et ajoutez au tableau de création de page, par exemple.

$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 
    ); 
Questions connexes