我创建了一个插件,我想在激活时创建一个页面,并设置它正在使用的模板。
我已经完成了第一部分,在激活它创建页面时,我该如何设置模板?这是我尝试过的,但它只选择默认模板:
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 );
答案 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;
}
试试这个......