shortlist-digital/agreable-partnership-plugin

Shortlist Media 的 WordPress 插件。

2.7.4 2016-08-31 15:08 UTC

README

使用 Herbert 插件框架构建的 Croissant 堆栈 WordPress 插件。

依赖项

  • Timber
  • 高级自定义字段

创建自定义文章类型

  • /app/customPostType.php

插件使用 ACF 定义了一个小部件,该小部件可用于文章。

  • /widget-loader-acf.php 一个 Croissant 主题(例如 Troisieme)将遍历插件目录中的以 'slm' 前缀的子目录,这些子目录在其根目录中包含 widget-loader-acf.php。此 ACF 定义被添加到主题中可用的 widgets 列表。

将插件视图路径添加到 Timber 的路径中以便渲染

  • /app/hooks/timber_loader_paths.php 父主题将包含插件 Twig 模板并使用 Timber 进行渲染(见 lab-troisieme-2015/src/views/partials/widget-container.twig)。因此,我们使用 Timber 调用的此过滤器将我们的插件路径添加到 Timber 内部路径数组中:'timber/loader/paths'

在渲染时触发插件特定操作(在插件内插入样式/脚本)

  • /app/hooks/slm_plugin_enqueue.php 在渲染插件模板之前,父主题调用 WordPress do_action('acf_{{name}}_enqueue')。例如(使用 Timber):{% do action('slm_'~widget.acf_fc_layout~'_enqueue', widget) %} 钩子名称由 widget-loader-acf.php 中的 ACF 字段组 'name' 构建。例如 'acf_partnership_plugin_enqueue'。

为 WordPress 安装配置可配置的插件选项

  • app/panels.php 为安装特定配置添加设置面板。使用 ACF 定义。
使用 ACF 在文章类型菜单中创建面板
acf_add_options_sub_page(array(
  'page_title'  => 'Partnership Style Settings',
  'menu_title'  => 'Partnership Settings',
  'parent_slug' => 'edit.php?post_type=partnership',
));
向菜单添加自定义字段

使用 register_field_group($options) 指定自定义字段。最好在 WordPress 管理员中创建并使用导出功能。 $options['location'] 将是一个数组,指定在哪里显示自定义字段

array (
  array (
    array (
      'param' => 'options_page',
      'operator' => '==',
      'value' => 'acf-options-partnership-settings',
    ),
  ),
),

注意:如果 acf_add_options_sub_page 给定 'menu_title' 为 'Partnership Settings',则位置 'value' 为 'acf-options-partnership-settings'(如上所述)。

部署到 Packagist

检查当前最新标签 git fetch && git tag

相应地提高版本并打标签 git tag x.x.x

推送到 Github。Packagist 将接收一个钩子并更新文件 git push origin master --tags