2015-06-09 66 views
0

我創建了一個插件,當它被激活時,我想創建一個頁面,並設置它正在使用的模板。關於插件激活,創建頁面並設置模板?

我已經完成了第一部分,在激活它創建頁面,我如何設置模板?這是我曾嘗試過,但它只是挑選默認模板:

 if ($theme_file = locate_template(array('contact.php'))) { 
      $template = $theme_file; 
     } else { 
      $template = plugin_dir_path(__FILE__) . 'templates/contact.php'; 
     } 

     //post status and options 
     $post = array(
       'comment_status' => 'closed', 
       'ping_status' => 'closed' , 
       'post_author' => 1, 
       'post_date' => date('Y-m-d H:i:s'), 
       'post_name' => 'Contact', 
       'post_status' => 'publish' , 
       'post_title' => 'Contact', 
       'post_type' => 'page', 
       'page_template' => $template 
     ); 
     wp_insert_post($post); 

回答

2
add_filter('page_template', 'wp_page_template'); 
    function wp_page_template($page_template) 
    { 
     if (is_page('Contact')) { 
      $page_template = plugin_dir_path(__FILE__) . 'templates/contact.php'; 
     } 
     return $page_template; 
    } 

試試這個...