服务报价 | 域名主机 | 网络营销 | 软件工具| [加入收藏]
 热线电话: #
当前位置: 主页 > php教程 > wordpress教程 >

使用子主题避免更新覆盖掉自己修改的主题

时间:2016-10-18 21:32来源:未知 作者:最模板编辑 点击:
使用WordPress子主题修改和增加一些功能 WordPress子主题也是一个主题,它继承了另一个主题父主题的功能,并允许你对父主题的功能进行修改,或者添加新功能。 WordPress具有子主题的方
 
使用WordPress子主题修改和增加一些功能
 
WordPress子主题也是一个主题,它继承了另一个主题——父主题——的功能,并允许你对父主题的功能进行修改,或者添加新功能。
WordPress具有子主题的方案,子主题创建好了之后,会调用父级主题的所有文件,子主题里面和父级主题相同的文件会优先调用子主题。
这样的方式,你可以创建一个子主题,然后将想要修改的文件从父级主题复制出来,粘贴到子主题中修改,这样父级主题更新之后,子主题里面修改的文件不会受到任何影响。
子主题的函数会优先父级主题,启用了子主题之后,子主题的优先级别是大于父级主题的。
创建一个子主题
 
子主题的创建,你需要创建一个文件夹,比如lightpark(轻极企业WordPress主题)的子主题,创建文件夹lightpark_kid,然后只需要创建一个style.css,并按照如下方式写好编译格式即可。
/*
Theme Name:     轻极企业子主题
Theme URI:      http://www.themepark.com.cn/
Description:    轻极企业WordPress主题的子主题
Author:         最模板网
Author URI:     http://www.themepark.com.cn
Template:       lightpark
Version:        1.0
*/
上面的代码和普通主题的style.css格式区别不大,只有一个增加了 那就是Template:    这个便是识别父级主题的编注,你只需要在这里标注父主题的文件夹名称即可
这样的文件夹和文件建立好了之后,你就可以在后台-- 主题  看到你创建的子主题了。
启用这个主题,你会发现完全和父级主题一致,所有的文件都自动调用了父级主题,这样,子主题就创建成功了。
 
逐行的简单解释:
Theme Name. (必需) 子主题的名称。
Theme URI. (可选) 子主题的主页。
Description. (可选) 子主题的描述。比如:我的第一个子主题,真棒!
Author URI. (可选) 作者主页。
Author. (optional) 作者的名字。
Template. (必需) 父主题的目录名,区别大小写。 注意: 当你更改子主题名字时,要先换成别的主题。
Version. (可选) 子主题的版本。比如:0.1,1.0,等。
 
使用子主题修改和增加代码
 
创建好了子主题,现在复制父级主题的index.php  ,在里面输入一段文字或者代码,刷新看看你的网站,是否出现了修改的内容呢?  使用这样的方式修改你的主题吧,
在复制父级主题的文件时,请注意层级:
如  副主题文件夹下index文件夹 的 pic.php文件,若直接复制到子主题是无法生效的,必须建立和父级同样的层级,index文件夹,再将pic.php复制进去才会有效。
 
模板文件的替换方向:
模板文件 在子主题中的表现和style.css一样,它们会覆盖父主题中的相同文件。子主题可以覆盖任何父主题模板中的文件,只需要创建同名文件就行。(注意:index.php在WordPress3.0及以上版本才能被覆盖。)
同样,这项WordPress的功能允许你修改父主题的样式功能而不用去编辑父主题的文件,并且你的修改能让你在更新父主题后继续保留。
下面是一些使用模板文件的子主题的例子:
增加一个父主题没有提供的模板(例如:网站地图页面的模板,或者一单栏页面,它们在页面编辑,模板选择里是可用的)
增加一个比父模板更加具体的模板(见模板级别)。(例如:新加的tag.php模板用于按tag归档的文章来代替父主题中通常的archive.php模板。)
替换父主题中的一个模板.(例:使用你自己的home.php来覆盖父主题中的home.php)
 
修改时注意的方向
若你使用的最模板网的付费主题,样式文件不会被替换,你需要重新编写load.php
替换掉这个函数cimy_uef_register_init_css  加载css的函数(函数的替换下方我们有介绍),或者,直接修改父级的css,这是因为我们的付费主题会自动判断移动设备,从而加载移动版主题,所以这里的功能子主题无法替换掉。这样你只需备份好css文件即可。
 
函数的替换和增加
子主题的functions.php提供了一个灵活稳定的方式来修改父主题的功能。如果你想在你的主题里加入一些PHP函数,最快的方式可能是打开functions.php文件然后加入进去。但那样并不灵活:下次你的主题升级更新了,你加入的新功能就会丢失掉。相反地,如果你使用子主题,将functions.php文件放进去,再将你想加入的功能写进这个文件里,那么这个功能同样会工作得很好,并且对于父主题以后的升级更新,子主题中加入的功能也不会受到影响。
functions.php文件的结构非常简单:将PHP起始标签置于顶部,关闭标签置于底部,它们之间就写上你自己的PHP函数。你可以写得很多,也可以写得很少,反正按你所需。下面的示例是一个基本的functions.php文件的写法,作用是将favicon链接加入到HTML页面的head元素里面。
如果是增加函数,直接在子主题的functions.php中增加即可,如果函数已经存在,那么你需要在父级主题找到此函数 使用下面的方式,进行替换
比如这样的函数:
<?php
 
function favicon_link() {
    echo '<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico" />' . "n";
}
add_action('wp_head', 'favicon_link');
 
?>
 
进行替换:
 
if (!function_exists('theme_special_nav')) {
    function theme_special_nav() {
        //  Do something.
    }
}
注意,替换的过程是在父级主题中,使用php的function_exists进行判断。
 
除了style.css,functions.php,index.php和home.php,子主题可以使用任何正式主题使用的类型的文件,只要文件被 正确链接。打个比方,你可以使用在样式表里或者Javascript文件里链接的图标、图片,或者从functions.php文件中调用出来的额外 PHP文件。
 
子主题的方式非常的灵活,但是也需要你掌握一定的php知识才能正确的修改和增加主题的内容,希望此文对你有所帮助!
(责任编辑:最模板)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
热点内容