seothemes/child-theme-library

该软件包已被 放弃 并不再维护。没有建议的替代软件包。

一个轻量级的即插即用库,用于扩展 Genesis 子主题。

dev-master 2018-08-07 12:59 UTC

This package is not auto-updated.

Last update: 2020-01-18 21:48:17 UTC


README

WordPress License

注意: 此项目已不再维护。请使用 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文件以获取详细信息。

作者

还可以查看参与此项目的贡献者列表

致谢

向任何在此项目中使用过代码或提供灵感的个人致敬

Christoph HerrGary JonesCraig SimpsonTim JensenBill EricksonSridhar KatakamChinmoy PaulNathan RiceBrian Gardner