wordpress如何让主题支持子主题

WordPress社区有很多主题框架,如 Genesis, Headway等。开发者在主题框架的基础上进一步开发了更多亦或是免费或付费的子主题。WordPress子主题好比是父主题的皮肤,同时继承了所有父框架的功能。这篇文章将向大家*基本的如何安装一个WordPress子主题。安装子主题几乎与安装其他任何WordPress主题类似,**的区别在于,你需要同时将父主题和子主题上传到WordPress主题目录。

上传父主题

假设我们使用 Genesis框架作为父主题。首先,你需要下载该框架的.zip格式文件。然后可以使用FTP将此文件上传到/wp-content/themes/目录或从WordPress后台上传的方式来完成。

使用FTP:

提取Genesis Zip文件夹

将‘genesis’文件夹上传到你的主题目录,它的地址是:/wp-content/themes/genesis/

不*悉FTP使用的同学可以使用WordPress后台上传的方法。登录WP管理员面板,点击外观(Appearance)»主题( Themes),接着点击“安装主题(Install Themes)”,点击上传(upload)(如下面的截图所示)

选择你下载下来的.zip文件,点击立刻安装。

注意:上传完后不要立刻**父主题

上传子主题

假设我们使用Genesis框架的 Persevero子主题。同样地,你也需要先下载子主题,通过FTP或后台上传的方法上传到WordPress主题目录下。两个主题都上传完之后,你现在可以**子主题了。

**子主题

完成上面的父主题和主题的上传之后,现在你就可以**子主题了。通过选择外观(Appearance)»主题(Themes)** Persevero子主题。

P.S

由于Twenty Ten是WordPress3.0的默认主题,也就是说每一WordPress都已经有安装过这个框架,如果你想要使用Twenty Ten的子主题,如Speaky Theme,那么你就可以跳过上传父主题这一步了,只需要将子主题安装后并**就可以使用了。

用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);

这个主题本身是支持二级下拉菜单的,看我的测试截图:

甚至还支持**下拉菜单:

那么,这个问题就变为:如何为Wordpress设置下拉菜单了!

到Wordpress后台-->外观-->菜单:

选中你想添加到菜单中的项目(例如):

然后点击”添加至菜单“,你会看到:

先选中”主导航“,然后用鼠标拖动菜单项到你想要的效果,例如:

你可以点击右侧的”保存菜单“按钮了,你也可以随时在这里添加项目(下图中添加了一个"付费页面"的菜单项):

每次改变菜单项或这个菜单项的位置的时候,都记得”保存菜单“。

除了页面,你还可以添加自定义链接、分类目录、标签等其它类型的项目到菜单中。

祝愉快!

先纠正一下:

x.你的域名****这种叫二级域名,**域名四级域名以此类推,这些统称子域名

***.你的域名****/bbs,这种叫二级目录

回答你得问题:

不能说百分百不能实现,其实可以用page.php来定制一个完全不一样的页面,例如你上面说的bbs,是可以定制化,比如首页是主题A,css和框架都是主题A,那么新建一个page.php,命名为bbs.php(用主题A里的page.php)来调用主题B的css和框架,但这里不是说可以同时启用两个主题,是指将主题b的css和框架复制到主题A中,整个bbs.php页面样式都调用主题b的样式,但很多地方改起来是比较耗时的。

既然那么麻烦,倒不如主域名一个wordpress程序,产品里一个wordpress程序,两个对应不同的主题

相关文章
在线客服
微信联系
客服
扫码加微信(手机同号)
电话咨询
返回顶部