欢迎光临
我们一直在努力
扫描二维码在手机上浏览
WordPress相关

WordPress主题启用时自动创建特定页面

WordPress的每个主题都有自己演示数据,当然也有一些特定的页面必须存在,比如:登录页面,注册页面等等。那如何让用户启用主题的时候自动创建主题必须的页面。自己也懒得一点点去研究,就直接百度了。现在将具体方法贴出来供大家使用。

  1. 添加页面函数
    页面的模板信息保存在_postmeta表中,以字段形式保存,字段名为_wp_page_template,所以要保存页面模板信息,使用update_post_meta函数。当然,大家只需要把下面的代码放到您主题的functions.php文件中就可以了。

    /**  
    *参数$title 字符串 页面标题  
    *参数$slug  字符串 页面别名  
    *参数$page_template 字符串  模板名  
    *无返回值  
    **/  
    function ashu_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);   
            }   
        }   
    }
  2. 通过hook执行创建页面函数
    有了上面的创建页面函数,则只需要通过钩子调用上面的函数即可创建页面。同样,把下面的代码放到你的主题functions.php文件中,然后修改成你要创建的页面的具体信息

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

添加上面的代码后,当用户启用主题后,就会创建相应的文章或页面,当然要修改代码中的参数为自己要创建的页面参数。

THE END
历史上的今天
三月
9
    哇哦~~~,历史上的今天没发表过文章哦
标签
喜欢就支持一下吧!!!
点赞0打赏分享
版权声明
本站文章除注明转载外,均为本站原创或翻译,欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自:灵阳星空 » WordPress主题启用时自动创建特定页面
本文标题:WordPress主题启用时自动创建特定页面
本文日期:本文发表于 2020/03/09 13:03:35,最后更新于 2020/03/09 13:03:47,如内容失效,请反馈给我们,谢谢!
本文地址: https://www.jsksky.com/automatically-create-specific-pages-when-wordpress-themes-are-enabled.html

网络臭虫

已发布512篇文章
吃得苦中苦,方为人上人,不卧薪藏胆,哪能苦尽甘来?点击进入我的网站了解更多有关我的信息。

评论 抢沙发

A 作者 M 管理员

评论前必须登录!

 


觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏