在插件激活时,创建页面并设置模板?

时间:2015-06-09 14:36:52

标签: php wordpress

我创建了一个插件,我想在激活时创建一个页面,并设置它正在使用的模板。

我已经完成了第一部分,在激活它创建页面时,我该如何设置模板?这是我尝试过的,但它只选择默认模板:

        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 );

1 个答案:

答案 0 :(得分: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;
    }

试试这个......