tjm/wpthemehelper

WordPress 主题开发助手类

v1.1.1 2023-04-12 18:32 UTC

This package is auto-updated.

Last update: 2024-09-12 22:07:30 UTC


README

一组用于 WordPress 主题开发的助手类。提供主题设置、渲染文件、处理路径和创建简码等辅助功能。

用法

此项目包含多个类,每个类提供一组功能。它们可以独立使用,或者可以使用 WPThemeHelper 对象作为管理器。以下是这些类:

SettingHelper

使用此对象来管理 WordPress 主题设置,提供通过单个接口设置所有基本主题设置的简单界面,无需使用在 WordPress 中设置它们所需的各种不同方法。如果最初设置,它也会在 WordPress 初始化周期中的正确点运行它们。

示例

$settingsHelper = new TJM\WPThemeHelper\SettingHelper(Array(
	'settings'=> Array(
		'automatic-feed-links'=> true
		,'custom-header'=> Array(
			'default-image'=> ''
			,'default-text-color'=> '000000'
			,'flex-height'=> true
			,'flex-width'=> true
			,'height'=> 250
			,'max-width'=> 2000
			,'random-default'=> false
			,'width'=> 960
		)
		,'nav-menus'=> Array(
			'footer'=> 'Footer'
			,'header'=> 'Header'
		)
		,'post-thumbnail-size'=> Array(625, 9999)
		,'widget-areas'=> Array(
			Array(
				'name'=> 'Aside 1'
				,'id'=> 'aside-1'
				,'before_widget'=> '<div id="%1$s" class="widget %2$s">'
				,'after_widget'=> '</div>'
				,'before_title'=> '<h3 class="widget-title">'
				,'after_title'=> '</h3>'
			)
			,Array(
				'name'=> 'Aside 2'
				,'id'=> 'aside-2'
				,'before_widget'=> '<div id="%1$s" class="widget %2$s">'
				,'after_widget'=> '</div>'
				,'before_title'=> '<h3 class="widget-title">'
				,'after_title'=> '</h3>'
			)
		)
	)
));

默认情况下,设置会覆盖助手默认值。

Renderer

使用我的 Buffer Manager 渲染模板文件并向它们传递数据。

示例

$renderer = new TJM\WPThemeHelper\Renderer();
echo $renderer->render('aboutBox.php', Array(
	'name'=> 'Toby Mackenzie'
	,'description'=> 'Ohio web developer'
));
// {theme}/aboutBox.php
<div class="aboutBox">
	<div class="aboutBoxName"><?php echo $name; ?></div>
	<div class="aboutBoxDescription"><?php echo $description; ?></div>
</div>

如果使用子主题,它将使用 PathHelper 来检查子主题和父主题中的文件。有一个 renderPiece() 方法,用于运行 'pieces' 文件夹中的文件。

PathHelper

有一个 getThemeFilePath($name, $container, $extension) 方法,用于获取主题文件的路径,子主题文件会覆盖父主题文件。 $name 是文件名,$container 是文件所在的可选文件夹路径,$extension 是可选的文件扩展名。

ShortcodeHelper

简单的添加简码助手。您可以一次添加一个简码,如

$shortcodeHelper = new TJM\WPThemeHelper\ShortcodeHelper();
$shortcodeHelper->add('hello', function($attributes, $content=null){ return "Hello {$content}"; });

或者传递包含多个简码的数组

$shortcodeHelper->add(Array(
	'goodbye'=> function($attributes, $content=null){ return "Goodbye {$content}"; }
	,'wrap'=> function($attributes, $content=null){
		$elm = (isset($attributes['element'])) ? $attributes['element'] : 'div';
		return "<{$elm}>{$content}</{$elm}>"
	}
));

还有一个 get($codes) 方法,如果您想在其他地方使用它们,可以获取一个或多个简码的可调用项。

DataHelper

一个简单的类,用于存储以后可以访问的数据,具有 get($key)set($key, $value)has($key) 方法。