总结一下近期开发主题时的一些好的函数方法,非常湿滑,用起来很随手,下面就主要说一下:WordPress启用主题时自动创建页面(wp自动创建页面)。

WordPress启用主题时自动创建页面(wp自动创建页面)-QUI-Notes

简单来说,就是用户在上传主题后,启用主题的时候就自动创建页面了,数据直接写入了数据库。这个功能虽说鸡肋,但是很有必要,例如Pure 2.76前早期版本,都是将页面模板上传了,需要用户自定义页面——选择模板,才算生效,不然就会出现404的情况。儿之后的版本加入了这个功能,数据库不存在用户中心,友链等页面就会自动创建。

听起来是不是很有意思!对,这个函数就是这么有意思,也算不上鸡肋。

废话不说了,直接上代码:

function QUI_add_page($title,$slug,$page_template=''){   
	    $allPages = get_pages();//获取所有页面   
	    $exists = false;   
	    foreach( $allPages as $page ){   
	        //通过页面别名来判断页面是否已经存在   
	        if( strtolower( $page->post_name ) == strtolower( $slug ) ){   
	            $exists = true;   
	        }   
	    }   
	    if( $exists == false ) {   
	        $new_page_id = wp_insert_post(   
	            array(   
	                'post_title' => $title,   
	                'post_type'     => 'page',   
	                'post_name'  => $slug,   
	                'comment_status' => 'closed',   
	                'ping_status' => 'closed',   
	                'post_content' => '',   
	                'post_status' => 'publish',   
	                'post_author' => 1,   
	                'menu_order' => 0   
	            )   
	        );   
	        //如果插入成功 且设置了模板   
	        if($new_page_id && $page_template!=''){   
	            //保存页面模板信息   
	            update_post_meta($new_page_id, '_wp_page_template',  $page_template);   
	        }   
	    }   
}
//创建必备页面
function QUIAddPages() {   
	  global $pagenow;   
	  //判断是否为激活主题页面   
	  if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ){   
	    QUI_add_page('置顶页面','top','index_top.php');
	    QUI_add_page('热门页面','hot','index_hot.php');
	    QUI_add_page('友链申请','links','link.php');
	   }
}   
add_action( 'load-themes.php', 'QUIAddPages' );  

将上面代码放置functions.php文件中,主题跟目录内必须要有模板页面哦!不然会php报错。