shortlist-digital/agreable-poll-plugin

Shortlist Media 的 Wordpress 插件。

0.2.3 2016-02-21 15:25 UTC

README

使用 Herbert 插件框架构建的针对 Croissant stack 的 Wordpress 插件。

依赖

  • Timber
  • 高级自定义字段

创建自定义文章类型

  • /app/customPostType.php

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

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

将插件视图路径添加到 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_quiz_plugin_enqueue'

为 Wordpress 安装配置的插件选项

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

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

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

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

部署到 Packagist

git tag 查看最新标签版本(先拉取。使用 git tag 0.x.x 提升版本 git push origin master --tags 将最新标签推送到 GitHub - Packagist 将接收 webhook 并相应更新