shortlist-digital/agreable-promo-plugin

适用于Shortlist Media的Wordpress插件。


README

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

依赖项

  • Timber
  • 高级自定义字段

创建自定义文章类型

  • /app/customPostType.php

插件定义了一个使用ACF的widget,该widget可供文章使用

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

将插件视图路径添加到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字段组'名称'构建。例如,'acf_promo_plugin_enqueue'

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

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

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

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

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

部署到packagist

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

适当地增加版本并标记 git tag x.x.x

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