让 WordPress 新主题激活后直接跳转到主题设置页面

文 / @WordPress主题

小本本的自我介绍

我是一名程序员,同时也是一名WordPress主题开发者。在开发主题的过程中,我发现很多用户遇到的问题都是因为不知道如何设置主题,因此我想分享一些帮助用户了解如何设置主题的方法。

用户不知道怎么设置是开发者的责任

很多高级WordPress主题会在后台创建一个单独的设置页面,用来设置主题的各种选项,这个页面一般在WordPress后台的主题菜单下面,也有很多是和主题菜单平行的顶级菜单,如果用户看了主题的使用教程,就可以很容易的设置好一个新主题。但是(一有但是,问题就来了),用户都是懒惰的,包括我在内。

用户不知道怎么设置,甚至是根本不知道有这个设置,这当然是主题开发者的责任,除了尽量减少不必要的设置项,优化主题设置的分组和描述,其实还有一种办法可以很好的解决这个问题,那就是(重点来了):

主题启用后直接跳转到设置页面

很多用户安装完一个新主题后,往往会发现这个主题的表现和演示站点的有很大的出入,就会觉得这个主题有问题,直接卸载了,却不知道只需要做一些小小的设置,效果立马就出来了。

方法有很多,在下面的三种方法中选择一个,把代码粘贴到你所用主题的function.php文件里面,保存即可,

方法一:

global $pagenow;
if ( is_admin() && isset( $_GET['activated'] ) && $pagenow == 'themes.php' ) {
  //admin.php?page=theme-settings-slug改成你的主题设置页面网址
  wp_redirect( admin_url( 'admin.php?page=theme-settings-slug' ) );
  exit;
}

方法二:

add_action( 'load-themes.php', 'Init_theme' );
function Init_theme(){
  global $pagenow;

  if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ) {
   //options-general.php改成你的主题设置页面网址
  wp_redirect( admin_url( 'options-general.php' ) );
   exit;
  }
}

方法三:

add_action('after_switch_theme', 'Init_theme');
function Init_theme($oldthemename){
  global $pagenow;

  if ( 'themes.php' == $pagenow && isset( $_GET['activated'] ) ) {
   //options-general.php改成你的主题设置页面网址
  wp_redirect( admin_url( 'options-general.php' ) );
   exit;
  }
}

三种方法写法不同,原理都是一样的,都是检测当前页面是否为主题激活后的页面,如果是,跳转到主题的设置页面,在主题开发的过程中,你可以选择看着比较顺眼的一种使用。

添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。