WordPress如何在设置启用主题自动创建页面

学习笔记 1个月前 小天
102 0

我们在开发wordpress主题时,或多或少都会创建一些页面,如果我们写的主题只有我们自己在用,那就无所谓,完全可以启用后手动到页面栏目去一个一个的添加,但是如果我们的主题别人也会用,那手动添加的话就显得很繁琐且复杂了。这时候如果可以在主题启用时自动创建页面就好了,今天就给大家分享这个小技巧。

实例讲解

首先需要在你的主题任意 funcitons.php 文件中加入此函数。

	// 创建页面
	function kuzhuti_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);   
	        }   
	    }   
	}

然后在将要创建的页面也封装成函数并载入wordpress对应钩子、

		// 启动创建相关页面
		function kuzhuti_add_pages() {   
			global $pagenow;   
			//判断是否为激活主题页面   
			if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ){   
				// 页面名称-关于我们 页面别名-about 页面模板-page-about.php,此处需注意如果你的页面模板文件在某文件夹内,则需填入完整链接
				kuzhuti_add_page('关于我们','about','page-about.php'); //
			}   
		}   
		add_action( 'load-themes.php', 'kuzhuti_add_pages' );  

ok,大功告成,快去重新启用一下主题,看看是否自动创建了页面吧。

版权声明:小天 发表于 2021年10月15日 下午2:21。
转载请注明:WordPress如何在设置启用主题自动创建页面 | 小菜IT

相关文章

暂无评论

暂无评论...