扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
1、创建所需的文件
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、成都做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的新宁网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
在进行主题定制前,应该首先创建一个可供自定义的“设置选项页面”。创建设置选项页的代码需要放置在主题目录下的functions.php文件中。如果我们的模板名为“OptionPage”,那么functions文件的路径为:wp-contentthemesOptionPagefunctions.php。
我们不需要让wordpress手动加载它,在执行时wordpress会自动加载。
2、建立设置选项页
首先第一步需要在后台建立一个空白页面供我们使用。我们通过add_aaction来实现这一步。Actions可以在wordpress执行时的特定时间被响应,例如,当在控制面板创建菜单时,admin_menu就会被响应执行。因此,可以利用这些来实现我们所需的功能。这是我们创建选项页的最基本的功能。
?php
// 设置选项页
function themeoptions_admin_menu()
{
// 在控制面板的侧边栏添加设置选项页链接
add_theme_page(“主题设置”, “主题选项”, ‘edit_themes’, basename(__FILE__), ‘themeoptions_page’);
}
function themeoptions_page()
{
// 设置选项页面的主要功能
}
add_action(‘admin_menu’, ‘themeoptions_admin_menu’);
?
themeoptions_admin_menu()是在控制面板的侧边栏中添加一个链接,指向我们创建的选项页:themeoptions_page。
add_theme_page() 的参数为:
页面标题:主题设置
菜单标题:主题选项(p.s.为了区分显示,页面与菜单标题我做了不同我命名)
作用功能:edit_themes;
Handle(句柄):当前文件;
执行的函数:themeoptions_page;
用WordPress的Settings API是最精简的方法,定制化最高,对编程要求也高。
用Options Framework Theme是最简单的方法,不需要知道什么编程技巧,装上了就可以用,很像傻瓜照相机,所以也不能对定制化和性能有过高期望。
用主题框架,前提用这个框架构建主题,很多优秀的框架开源却不免费。
易用性和性能的平衡
如果既要追求易用性又要追求性能,需要了解一些代码又不用玩命读文档,那还有一个不错的选择,该方法来自这里。
首先下载示例文件,该文件是twentyten的Child Theme,安装方法参考如何安装WordPress主题。
激活主题后,在外观选项看下就会出现Theme Options选项卡。
这个主题选项页面主要是又文件夹下的theme-options.php控制的,打开这个文件看看如何通过修改文件来定制我们需要的主题选项界面。
如何使用theme-options.php
1. 引入文件
将theme-options.php放到主题目录下,通过下面代码引入
require_once ( get_template_directory() . '/theme-options.php' );
如果是Child Theme
require_once ( get_stylesheet_directory() . '/theme-options.php' );
2. 修改textdomain
WordPress的多语言主题必须有textdomain,这个示例文件中的textdomain是sampletheme,全文替换成自己主题的textdomain即可。
3. 修改外观选项卡下的Theme Options菜单名称
13-18行的代码用于产生Theme Options名称
/**
* 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,函数定义如下,根据定义修改
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,将下面的代码
function theme_options_init(){
register_setting( 'sample_options', 'sample_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结构,函数原型如下
register_setting( $option_group, $option_name, $sanitize_callback );
你这个情况,就是缺少了PAGE.php,你把之前下载的压缩包打开找一找是不是也没有,如果本来就没有,就要考虑是不是还继续用这种缺少文件的主题了
要不你就直接从另一个主题复制PAGE代码,在FTP你现在的主题文件夹新建一个PAPG.PHP就好了
1、创建所需的文件 在进行主题定制前,应该首先创建一个可供自定义的“设置选项页面”。创建设置选项页的代码需要放置在主题目录下的functions.php文件中。如果我们的模板名为“OptionPage”,那么functions文件的路径为:wp-contentthemesOptionPag.
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流