任务:我使用插件创建了一个页面,该页面必须在页面创建中设置特定的页面模板。除了设置页面模板之外,一切都正常工作。我现在已经手动将页面模板文件移动到主题目录中,并手动设置页面模板,但这对我不好。页面模板文件与插件主文件位于同一目录中
问题:如何制作我的插件来设置页面模板?我错过了什么?
以编程方式创建页面的代码:
<?php
function create_namnam_login_page($post_name) {
global $wpdb;
if($wpdb->get_row("SELECT post_name FROM wp_posts WHERE post_name = \'" . $post_name . "\'", \'ARRAY_A\')) {
return true;
} else {
return false;
}
}
$postarr = array(
\'post_author\' => 1,
\'post_title\' => \'NamNam Login\',
\'post_status\' => \'publish\',
\'post_type\' => \'page\',
\'post_slug\' => \'namnam-login\',
\'page_template\' => \'namnam-login.php\',
);
if (the_slug_exists(\'namnam-login\')) {
return false;
}
else {
$namnam_login = wp_insert_post( $postarr, $wp_error = false );
update_option( \'namnamloginpage\', $namnam_login );
}
?>
插件激活挂钩:
<?php
function namnam_create_login_page() {
include_once dirname( __FILE__ ) . \'/admin-login.php\';
create_namnam_login_page($post_name);
flush_rewrite_rules();
}
register_activation_hook( __FILE__, \'namnam_create_login_page\' );
function namnam_delete_login_page() {
$the_page_id = get_option(\'namnamloginpage\');
if( $the_page_id ) {
wp_delete_post( $the_page_id, $force_delete = true );
}
flush_rewrite_rules();
}
register_deactivation_hook( __FILE__, \'namnam_delete_login_page\' );
?>