一个简单的WordPress主题后台管理框架
本文转自:https://themeshaper.com/2010/06/03/sample-theme-op…
本文转自:https://themeshaper.com/2010/06/03/sample-theme-options/
相关代码可在文末下载。
您想为新的 WordPress 主题创建一个简单的主题选项页面,但是您看到的所有教程和示例主题选项页面都太复杂了,或者根本不适合现有的 WordPress 外观。
我们提供了一个简单的示例主题选项页面,您可以将其用于下一个主题!
如何使用theme-options.php?
1. 引入文件
将theme-options.php放到主题目录下,通过下面代码引入
1 |
require_once ( get_template_directory() . '/theme-options.php' ); |
require_once ( get_template_directory() . ‘/theme-options.php’ );
如果是Child Theme
1 |
require_once ( get_stylesheet_directory() . '/theme-options.php' ); |
require_once ( get_stylesheet_directory() . ‘/theme-options.php’ );
2. 修改textdomain
WordPress的多语言主题必须有textdomain,这个示例文件中的textdomain是sampletheme,全文替换成自己主题的textdomain即可。
3. 修改外观选项卡下的Theme Options菜单名称
13-18行的代码用于产生Theme Options名称
1 2 3 4 5 6 |
/** * Load up the menu page */ function theme_options_add_page() { add_theme_page( __( 'Theme Options', 'sampletheme' ), __( 'Theme Options', 'sampletheme' ), 'edit_theme_options', 'theme_options', 'theme_options_do_page' ); } |
/**
* Load up the menu page
*/
function theme_options_add_page() {
add_theme_page( __( ‘Theme Options’, ‘sampletheme’ ), __( ‘Theme Options’, ‘sampletheme’ ), ‘edit_theme_options’, ‘theme_options’, ‘theme_options_do_page’ );
}
使用的函数是add_theme_page,函数定义如下,根据定义修改
1 |
add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function); |
add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function);
$page_title控制页面title,$menu_title控制菜单名称
4. 生成选项
select下拉菜单和radio单选按钮通过定义数组产生,分别是$select_options和$radio_options。
select、radio、input或checkbox等HTML结构均在函数theme_options_do_page()中输出。
5. 调用主题选项中的项目
$options是一个数组,输出主题选项页面所有的选项,以安装后默认的选项为例,$options的内容如下
Array ( [sometext] => [selectinput] => 0 [sometextarea] => [option1] => 0 [radioinput] => )
6. 更改存储在wp_options表中的主题选项名称
如果你不想用sample_options作为选项名称,可以修改成自己主题的名字,假设你的主题叫greattheme,将下面的代码
1 2 3 |
function theme_options_init(){ register_setting( 'sample_options', 'sample_theme_options', 'theme_options_validate' ); } |
function theme_options_init(){
register_setting( ‘sample_options’, ‘sample_theme_options’, ‘theme_options_validate’ );
}
替换为
1 2 3 |
function theme_options_init(){ register_setting( 'greattheme_options', 'great_theme_options', 'theme_options_validate' ); } |
function theme_options_init(){
register_setting( ‘greattheme_options’, ‘great_theme_options’, ‘theme_options_validate’ );
}
进行全文替换,将sample_options全文替换为greattheme_options,将some_theme_options全部替换为great_theme_options。
register_setting是WordPress Settings API中的一个函数,用来注册选项并通过回调函数(callback)输出HTML结构,函数原型如下
1 |
register_setting( $option_group, $option_name, $sanitize_callback ); |
register_setting( $option_group, $option_name, $sanitize_callback );
使用这个简单的主题选项模板,很轻量级,不会影响主题性能。
代码下载
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!