PHPackages                             shortlist-digital/agreable-longform-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. shortlist-digital/agreable-longform-plugin

ActiveWordpress-plugin

shortlist-digital/agreable-longform-plugin
==========================================

Wordpress plugin for Shortlist Media.

3.0.4(8y ago)01.5k1MITPHP

Since Mar 17Pushed 8y ago3 watchersCompare

[ Source](https://github.com/shortlist-digital/agreable-longform-plugin)[ Packagist](https://packagist.org/packages/shortlist-digital/agreable-longform-plugin)[ RSS](/packages/shortlist-digital-agreable-longform-plugin/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (4)Versions (28)Used By (0)

Shortlist Media Wordpress Longform Plugin
=========================================

[](#shortlist-media-wordpress-longform-plugin)

Wordpress Plugin built for Croissant stack using [Herbert](http://getherbert.com/) plugin framework.

---

### Dependencies

[](#dependencies)

- Timber
- Advanced Custom Fields

---

#### Create custom post type

[](#create-custom-post-type)

- `/app/customPostType.php`

#### Plugin degines an widget using ACF available to articles

[](#plugin-degines-an-widget-using-acf-available-to-articles)

- `/widget-loader-acf.php`
    A Croissant theme (e.g. Troisieme) will traverse plugins directory for 'slm' prefixed sub directories which contain `widget-loader-acf.php` at their root. This ACF definition is added to list of widgets available in theme.

#### Add plugin view path to Timber's paths for rendering

[](#add-plugin-view-path-to-timbers-paths-for-rendering)

- `/app/hooks/timber_loader_paths.php`
    Parent theme will include the plugin Twig templates and render using Timber (see [lab-troisieme-2015/src/views/partials/widget-container.twig](https://bitbucket.org/ShortlistMedia/lab-troisieme-2015/src/a09dddfd3df596f3c8b81db759160ded95a577e4/views/partials/widget-container.twig?at=master#cl-5)). Therefore we add our plugin paths to Timber's internal array of paths using this filter called by Timber: `'timber/loader/paths`.

#### Fire plugin specific action whilst rendering (to enqueue styles/scripts within plugin)

[](#fire-plugin-specific-action-whilst-rendering-to-enqueue-stylesscripts-within-plugin)

- `/app/hooks/slm_plugin_enqueue.php`
    Just before rendering the plugin template, the parent theme calls Wordpress `do_action('acf_{{name}}_enqueue')`. e.g. (using Timber):
    `{% do action('slm_'~widget.acf_fc_layout~'_enqueue', widget) %}`
    The hook name is constructed from the ACF Field Group 'name' in `widget-loader-acf.php`. e.g. 'acf\_longform\_plugin\_enqueue'

#### Configurable plugin options for Wordpress installation

[](#configurable-plugin-options-for-wordpress-installation)

- `app/panels.php`
    Adds Settings panel for installation specific configuration. Uses ACF definitions.

##### Using ACF to create panels in Post Type menu

[](#using-acf-to-create-panels-in-post-type-menu)

```
acf_add_options_sub_page(array(
  'page_title'  => 'Longform Style Settings',
  'menu_title'  => 'Longform Settings',
  'parent_slug' => 'edit.php?post_type=longform',
));

```

##### Add Custom Fields to menu

[](#add-custom-fields-to-menu)

Specify custom fields using `register_field_group($options)`. Best to create in Worpdress Admin and use export function. `$options['location']` will be an array specifying where to display the Custom Fields:

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

```

Note: If `acf_add_options_sub_page` is given 'menu\_title' of 'Longform Settings', the location 'value' is 'acf-options-longform-settings' (as above).

#### Deploy to packagist

[](#deploy-to-packagist)

Check the current latest tag `git fetch && git tag`

Bump the version appropriately and tag `git tag x.x.x`

Push to Github. Packagist will receive a hook and update the file `git push origin master --tags`

###  Health Score

33

—

LowBetter than 75% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity73

Established project with proven stability

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~26 days

Recently: every ~34 days

Total

19

Last Release

3238d ago

Major Versions

1.5.0 → 2.1.02016-04-13

2.4.2 → 3.0.02017-02-10

### Community

Maintainers

![](https://www.gravatar.com/avatar/61ad7e6bf7e888532cab85057b18648b093e470d0f2277548b302ac494de9e31?d=identicon)[shortlist-digital](/maintainers/shortlist-digital)

### Embed Badge

![Health badge](/badges/shortlist-digital-agreable-longform-plugin/health.svg)

```
[![Health](https://phpackages.com/badges/shortlist-digital-agreable-longform-plugin/health.svg)](https://phpackages.com/packages/shortlist-digital-agreable-longform-plugin)
```

###  Alternatives

[drupal/drupal-extension

Drupal extension for Behat

22215.1M146](/packages/drupal-drupal-extension)[friends-of-behat/symfony-extension

Integrates Behat with Symfony.

48223.4M546](/packages/friends-of-behat-symfony-extension)[friends-of-behat/variadic-extension

Variadic support for behat context arguments

2286.0M442](/packages/friends-of-behat-variadic-extension)[friends-of-behat/mink-extension

Mink extension for Behat

14034.2M465](/packages/friends-of-behat-mink-extension)[wp-cli/wp-cli-tests

WP-CLI testing framework

422.7M87](/packages/wp-cli-wp-cli-tests)[neos/flow-development-collection

Flow packages in a joined repository for pull requests.

144179.3k3](/packages/neos-flow-development-collection)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
