seothemes / child-theme-library
一个轻量级的即插即用库,用于扩展 Genesis 子主题。
Requires
- php: ^5.4|^7
Requires (Dev)
- dealerdirect/phpcodesniffer-composer-installer: ^0.4.4
- roave/security-advisories: dev-master
- squizlabs/php_codesniffer: ^3.2.3
- wp-coding-standards/wpcs: ^0.14.1
Suggests
- filp/whoops: ^2.1
- kint-php/kint: ^2.2
This package is not auto-updated.
Last update: 2020-01-18 21:48:17 UTC
README
注意: 此项目已不再维护。请使用 d2/core 代替。
一个基于配置的 composer 软件包,提供一系列模块以扩展 Genesis 子主题开发。
描述
子主题库的主要目的是为商业 Genesis 子主题提供一个可共享的代码库。这是通过使用基于配置的架构来分离主题的可重用逻辑与其配置来实现的。使用这种方法,我们可以使用单个代码库,通过传递不同的配置进行高度定制。该项目受到 Gary Jones 的 Genesis Theme Toolkit 的启发,但包含针对商业主题的附加功能,包括对旧版 PHP 的支持。请参阅 Genesis Starter Theme 作为示例。
要求
要求 | 如何检查 | 如何安装 |
---|---|---|
PHP >= 5.4 | php -v |
php.net |
WordPress >= 4.8 | 管理页脚 |
wordpress.org |
Genesis >= 2.6 | 主题页面 |
studiopress.com |
Composer >= 1.5.0 | composer --version |
getcomposer.org |
Node >= 9.10.1 | node -v |
nodejs.org |
NPM >= 5.6.0 | npm -v |
npm.js |
Yarn >= 0.2.x | yarn -v |
yarnpkg.com |
Gulp CLI >= 1.3.0 | gulp -v |
gulp.js |
Gulp = 3.9.1 | gulp -v |
gulp.js |
安装
将包包含在子主题的 composer.json
文件中(示例 composer.json
文件可在此处找到:这里)。
composer require seothemes/child-theme-library
可选安装 TGMPA composer 软件包
composer require tgmpa/tgm-plugin-activation
使用
将子主题库包含到您的项目中包括以下三个步骤
- 包含 Composer
autoload.php
文件 - 将库存储为全局变量以供整个主题使用
- 初始化子主题库
所有对子主题的更改都应通过主题配置文件进行。示例配置文件可在此处找到:这里。
以下是如何实现上述步骤的示例。此代码应放在您的 functions.php
文件中,在加载任何自定义代码之前
if ( file_exists( __DIR__ . '/vendor/autoload.php' ) ) { require_once __DIR__ . '/vendor/autoload.php'; $child_theme = new SEOThemes\ChildThemeLibrary\Theme(); $child_theme->init(); }
将子主题库对象存储为全局变量提供了对库的公共属性和方法访问。例如,要打印主题名称,您可以执行以下操作
echo $child_theme->name;
或者,要使用 Minify CSS 辅助函数
$css = 'body { background-color: red; }'; echo $child_theme->utilities->minify_css( $css );
结构
子主题库遵循PHP包开发标准文件夹结构和使用PSR-4自动加载。
./ ├── docs/ │ └── example-config.php ├── src/ │ ├── Admin.php │ ├── Attributes.php │ ├── Customizer.php │ ├── Defaults.php │ ├── DemoImport.php │ ├── Enqueue.php │ ├── HeroSection.php │ ├── Layout.php │ ├── Markup.php │ ├── Plugins.php │ ├── Setup.php │ ├── Shortcodes.php │ ├── Structure.php │ ├── Templates.php │ ├── Theme.php │ ├── Utilities.php │ └── WidgetsAreas.php ├── tests/ ├── .editorconfig ├── .gitattributes ├── .gitignore ├── composer.json ├── phpcs.xml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE.md └── README.md
钩子
名称 | 类型 | 描述 |
---|---|---|
child_theme_after_title_area |
动作 | 在标题区域之后运行 |
child_theme_hero_section |
动作 | 在英雄部分运行 |
child_theme_front_page_widgets |
动作 | 在首页循环时运行 |
child_theme_constants |
过滤器 | 过滤常量数组 |
child_theme_config |
过滤器 | 过滤配置路径 |
child_theme_latest_posts_title |
过滤器 | 过滤最新帖子标题 |
child_theme_latest_posts_excerpt |
过滤器 | 过滤最新帖子摘要 |
child_theme_footer_backtotop |
过滤器 | 过滤返回顶部短代码 |
支持
请访问https://github.com/seothemes/child-theme-library/issues/以打开新问题。
许可
本项目采用GNU通用公共许可证 - 请参阅LICENSE.md文件以获取详细信息。
作者
- Lee Anthony - SEO Themes
还可以查看参与此项目的贡献者列表。
致谢
向任何在此项目中使用过代码或提供灵感的个人致敬
Christoph Herr、Gary Jones、Craig Simpson、Tim Jensen、Bill Erickson、Sridhar Katakam、Chinmoy Paul、Nathan Rice、Brian Gardner