tjm / wpthemehelper
WordPress 主题开发助手类
Requires
- php: >=5.3.3
- tjm/buffermanager: dev-master
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)
方法。