=Start=
缘由:
最近在做博客/主机迁移,因为之前有对WordPress的默认主题做过一些个性化修改(直接在该主题目录下的文件中进行的修改),所以在重装WordPress的时候这些修改会被丢弃,之前都是不厌其烦的手工粘贴进去,但后来想想这也太low了,一点都不美好。然后就去网上搜索了一下,知道了「WordPress子主题」这个概念,能很好的解决WordPress主题升级导致的个性化修改丢失的问题,在此记录一下相关内容,方便以后参考。
正文:
参考解答:
什么是 WordPress子主题 ?
WordPress子主题也是一个主题,它继承了另一个主题——父主题——的功能,并允许你对父主题的功能进行修改,或者添加新功能。
创建一个子主题是很简单的。创建一个目录,将格式编写正确的 style.css 文件放进去,一个子主题就做成了!只需要对 HTML 和 CSS 具有基本的了解,你就可以通过创建一个非常基本的子主题 来对一个父主题的样式和布局进行修改和扩展,而不需要对父主题的文件作任何修改。通过这样的方式,当父主题被更新的时候,你所做的修改就可以保存下来。
因为这个原因,我强烈推荐你使用子主题的方式来对主题进行修改。
如果你对 PHP, WordPress Templates,和 WordPress Plugin API 有个基本的理解,理论上来讲,你可以使用子主题对父主题的每一个方面进行扩展,而不需要对父主题的文件进行任何修改。
子主题的目录结构
子主题放在wp-content/themes目录下属于自己的目录里(和其它的主题目录并列)。下面的结构显示的就是子主题和它的父主题(TwentyTen)在典型的WordPress目录结构中的位置:
- public_html
- wp-content
-
themes (主题存放的目录)
-
twentyten (示例中父主题TwentyTen的目录)
-
twentyten_child (子主题存放的目录,可以任意命名)
-
style.css (子主题中不可或缺的文件,文件名必需为style.css)
-
-
-
- wp-content
这个文件夹里面可以少至只包含一个style.css文件,也可以包含多至一个完整WordPress主题所拥有的文件:
- style.css (必需)
- functions.php (可选)
- Template files (可选)
- Other files (可选)
我的子主题设置
- style.css (个性化设置)
- functions.php (添加一些有用/安全的功能)
- header.php (添加「返回至顶部」这个功能)(div.go-top)
- content.php (添加「显示摘要」这个功能)
- footer.php (添加「页脚显示内容」这个功能)(cnzz/百度统计)
- single.php (添加「原创文章声明」这个功能)
参考链接:
- https://codex.wordpress.org/zh-cn:%E5%AD%90%E4%B8%BB%E9%A2%98
- http://blog.wpjam.com/article/child-themes/
- https://www.endskin.com/child-theme/
- https://www.wpdaxue.com/creating-child-themes-for-your-wordpress-theme-framework.html
- http://zmingcx.com/wordpress-theme-individuation.html
- http://www.bianlei.com/wordpress-child-themes/
- http://ijs.me/archives/3.html
- https://yuguo.us/weblog/wordpress-child-theme/
=END=
《 “WordPress子主题” 》 有 18 条评论
自动从其它站点RSS抓取文章
http://zmingcx.com/rss-fetching-articles-from-other-site.html
禁止WordPress自动更新邮件通知
http://zmingcx.com/ban-on-wordpress-update-email-notification.html
给WordPress 自带的搜索功能添加过滤只搜索文章的标题
http://zmingcx.com/wordpress-search-only-the-title-of-the-article.html
为WordPress添加分类搜索选项
http://zmingcx.com/wordpress-classification-search.html
按评论数量显示前100名评论者
http://zmingcx.com/according-to-former-100-reviewers.html
给WordPress加个评论关闭时间提示
http://zmingcx.com/automatic-shutdown-prompt-review-time.html
WordPress前台显示登录用户的最后登录时间
http://zmingcx.com/wordpress-users-last-login-time.html
http://zmingcx.com/wordpress-show-the-login-user-role.html
在WordPress 文章未尾自动添加一个作者信息框
http://zmingcx.com/wordpress-add-author-information.html
http://zmingcx.com/wordpress-random-local-head.html
WordPress中查看文章访问次数的插件(post view count)
https://wordpress.org/plugins/search/view+count/
https://wordpress.stackexchange.com/questions/tagged/statistics?sort=votes&pageSize=15
17 WordPress Functions.php File Hacks
https://www.elegantthemes.com/blog/tips-tricks/17-wordpress-functions-php-file-hacks
32 Extremely Useful Tricks for the WordPress Functions File
http://www.wpbeginner.com/wp-tutorials/25-extremely-useful-tricks-for-the-wordpress-functions-file/
【wordpress】一些优化代码汇总-functions.php(模板函数)
http://blog.csdn.net/wzl505/article/details/60869788
wordpress中functions.php常添加的代码
http://www.lmlblog.com/1145.html
小心WordPress主题functions.php包含的恶意代码
https://yusi123.com/3585.html
http://80×86.io/post/wordpress-theme-malicious-code-analysis
WordPress的WP-PostViews插件是否安全?
`
是,可以认为WP-PostViews插件的新版本是安全的!
`
https://jetpack.com/features/security/library/wp-postviews-plugin/
https://www.cvedetails.com/product/27374/Lesterchan-Wp-postviews.html?vendor_id=11695
https://www.cvedetails.com/vulnerability-list/vendor_id-11695/product_id-27374/Lesterchan-Wp-postviews.html
https://wordpress.org/plugins/wp-postviews/
https://github.com/lesterchan/wp-postviews
使用 WP-Postviews 统计日志浏览次数
http://blog.wpjam.com/article/wp-postviews/
解决网站静态缓存后WP-PostViews插件不计数的问题
https://zhangge.net/5123.html
WordPress 技巧:禁用 RSS Feed #测试OK
http://blog.wpjam.com/m/disable-rss-feeds-on-your-blog/
http://www.wpcourse.com/wordpress-rss-disable.html
当WordPress搜索结果中只有一篇文章时自动跳转到该文章具体页面 #测试OK
https://www.91wordpress.com/1318.html
WordPress内容被复制后自动添加文章链接 #通过在每一篇文章的HTML中插入一段js代码,监控 document.oncopy 事件
https://www.91wordpress.com/1313.html
WordPress教程:超过一定时间的老文章顶部显示自定义信息 #测试OK
https://www.91wordpress.com/1284.html
WordPress优化技巧:删除CSS和JS文件后面的版本号 #测试OK
https://www.91wordpress.com/862.html
WordPress 自定义字段(Custom Fields)详细介绍和使用
http://blog.wpjam.com/article/wordpress-custom-fields/
`
什么是 WordPress 自定义字段
WordPress 自定义字段工作机制
如何在博客上显示自定义字段的数据
WordPress 自定义字段高级用法
输出撰写日志时候的心情
输出撰写日志时候的参考书籍
统计当前日志的浏览数
WordPress 自定义字段扩展了 WordPress
更多 WordPress 自定义字段使用技巧
WordPress 技巧:在 WordPress 后台隐藏自定义字段
WordPress 技巧:设置只有注册用户才能浏览特定的内容
WordPress 技巧:使用自定义字段给日志单独加载 JS 脚本
使用 WordPress 自定义字段来显示日志缩略图
使用 WordPress 自定义字段创建的插件
`
WP-postviews如果想在前台呈现的话,需要修改主题中的 content.php 文件,找到「 `class=”comments-link”` 」那一行,在其后面添加如下一行:
`
if(function_exists(‘the_views’)) { the_views(); }
`
即可实现在前台展示页面的访问次数的功能。
WordPress浏览次数统计
https://www.wpdaxue.com/wp-postviews.html
https://www.wpdaxue.com/wordpress-postviews-code.html
http://blog.wpjam.com/article/wp-postviews/
http://blog.wpjam.com/m/memcached-postviews/
http://zmingcx.com/no-plugin-wordpress-reads.html
http://www.qaulau.com/wordpress-browse-number/
非插件实现wordpress验证码
http://www.361way.com/wp-anti-spam-captcha/5576.html
在约 5500 个被感染的 WordPress 站点上发现后台登录页存在键盘记录
https://www.bleepingcomputer.com/news/security/keylogger-found-on-nearly-5-500-infected-wordpress-sites/
`
正如我们已经提到的,恶意代码驻留在WordPress主题的 function.php 文件中。 您应该删除 add_js_scripts 函数和所有提及 add_js_scripts 的 add_action 子句。 考虑到这个恶意软件的键盘记录功能,你应该考虑所有的WordPress密码,所以清理的下一个强制性步骤是改变密码(实际上强烈建议在任何网站破解之后)。 不要忘记检查您的网站是否也有其他感染。
`
WordPress Keylogger事件分析
https://cert.360.cn/warning/detail?id=6c3e744f070dff4b88a5d15c5e46620e
360CERT:Wordpress Keylogger事件报告
https://www.anquanke.com/post/id/89941
WordPress文章目录插件
https://www.ludou.org/wordpress-content-index-plugin.html
WordPress实现RSS feed静态化
https://www.ludou.org/wordpress-feed-static.html
WordPress插件:后台注册通过短信验证用户手机号
https://www.ludou.org/wordpress-register-check-user-phone-via-sms.html
wordpress 发布更新文章实时提交到百度站长平台
https://jalena.bcsytv.com/archives/1960
使用RSS和Wordpress定制化阅读
http://mrdear.cn/2018/02/08/%E7%BB%8F%E9%AA%8C/%E4%BD%BF%E7%94%A8RSS%E5%92%8CWordpress%E5%AE%9A%E5%88%B6%E5%8C%96%E9%98%85%E8%AF%BB/
WordPress评论框中在新窗口中打开评论者的网站链接
https://blog.mimvp.com/article/21904.html
`
方法一:
修改文件 wp-includes/comment-template.php
方法二
修改主题目录中的 functions.php
`
WordPress 页面缓存插件
1) https://blog.cloudflare.com/improving-html-time-to-first-byte/
2) https://github.com/cloudflare/worker-examples/tree/master/examples/edge-cache-html/WordPress%20Plugin
WordPress LaTeX插件更换记录
https://www.biaodianfu.com/wordpress-latex-plugin.html
`
由于自己的博客要插入很多的公式,所以需要依赖LaTeX插件来帮忙实现。先前一直使用的是WP QuickLaTeX。但经过使用发现其性能随着文章量的增加越来越慢。
原因是WP QuickLaTeX会将公式提前生成图片,图片存储在 /wp-content/ql-cache。我看了下我的我的目录下共产生了15912个文件。导致查找文件的速度非常非常慢,拖慢了网站整体的速度。另外每次发布文章时生成图片也会占用CPU资源。
解决方案:使用MathJax-LaTeX进行替换WP QuickLaTeX
优点:MathJax-LaTeX仅保存LaTeX语法。具体渲染由前端执行。所以不会产生生成大量图片导致的问题。
`
https://tex.stackexchange.com/questions/27633/mathjax-inline-mode-not-rendering
https://developer.wordpress.org/themes/advanced-topics/child-themes/
`
子主题允许您更改站点外观的小方面,但仍然保留主题的外观和功能。要理解子主题是如何工作的,首先要理解父主题和子主题之间的关系。
What is a Parent Theme?
父主题是一个完整的主题,它包含了所有需要的WordPress模板文件和使主题工作的资源。所有的主题——不包括子主题——都被认为是父主题。
What is a Child Theme?
正如上所述,子主题继承父主题及其所有功能的外观和感觉,但是可以用于修改主题的任何部分。通过这种方式,自定义与父主题的文件是分离的。使用子主题可以让您升级父主题,而不会影响您对站点所做的自定义。
子主题的一些优点:
使您的修改可移植和复制;
保持自定义与父主题函数分离;
允许父主题被更新而不破坏你的修改;
节省开发时间,不需要重新造轮子;
同时也是开始学习主题开发的好方法。
注意:如果您正在进行广泛的自定义——除了样式和一些主题文件之外——创建父主题可能是比创建子主题更好的选择。创建父主题允许您在将来避免不喜欢的代码所带来的问题。这需要根据具体情况来决定。
How to Create a Child Theme
1. Create a child theme folder
2. Create a stylesheet: style.css
3. Enqueue stylesheet
Activate child theme
Adding Template Files
Using functions.php
Referencing or Including Other Files
Enqueueing Styles and Scripts
Special Considerations
Post Formats
RTL Support
Internationalization
`
WordPress 显示文章摘要方法 详细篇
https://www.jb51.net/cms/43570.html
https://www.cnblogs.com/beida/p/9279963.html
wordpress二次开发主题如何不被更新[wordpress子主题教程详解]
https://www.admin122.com/2124.html
「网站」当WordPress主题需要升级时,怎么保存之前主题所更改的设置
https://zhuanlan.zhihu.com/p/84528098
WordPress主题二次开发-使用子主题的详细说明
https://www.themepark.com.cn/wordpresszteckf-syzztdxa.html
WordPress主题制作 之 添加自动检测更新和一键升级功能
https://www.wpdaxue.com/automatic-updates-for-commercial-themes.html
为WordPress主题添加“自动更新”功能
https://zmingcx.com/wordpress-theme-automatic-update-feature.html