WordPress在激活主题的时候自动新建页面

许都 1K 0

如果你制作了一个主题,需要新建很多页面才能够完美工作,那么在使用者激活主题的时候自动新建页面将会给主题的使用省略很多设置步骤。
创建文章使用的函数为wp_insert_post();使用方法如下

点击查看完整内容

步骤一:添加页面的函数

需要注意,页面的模板信息保存在_postmeta表中,以字段形式保存,字段名为_wp_page_template,所以要保存页面模板信息,使用update_post_meta函数

点击查看完整内容

步骤二:通过hook执行创建页面函数。

有了上面的创建页面函数,则只需要通过钩子调用上面的函数即可创建页面。注意,有的人可能使用init钩子,个人认为这不是很好,init钩子是每次wordpress初始化时都要执行的,但是我们不需要每次执行程序的时候都来一遍这个函数,我们只需要在主题使用者点击激活主题的那一刻,执行一次,以后再也不需要再执行了。所以使用load-themes.php钩子,load-themes.php钩子是后台在设置主题的页面时启用。

function ashu_add_pages() {
    global $pagenow;
    //判断是否为激活主题页面
    if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ){
        ashu_add_page('ASHU_PAGE','ashu-page','page-ashu.php'); //页面标题ASHU_PAGE 别名ashu-page  页面模板page-ashu.php
        ashu_add_page('PAGE_ASHU','page-ashu','ashu-page.php');
    }
}
add_action( 'load-themes.php', 'ashu_add_pages' );
//需要注意的是模板名称是php文件的文件名哦

好了,这样就OK了,当使用者激活你的主题的时候,可以默认创建一些必要的页面。

发表评论 取消回复
表情 图片 链接 代码

分享