Provides detailed feeds for WordPress plugin releases
PHP Shell
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cache
reports
src
tests
.env.example
.gitignore
.travis.yml
LICENSE.md
README.md
build.sh
cli.php
composer.json
example.png
index.php
phpcs.xml
phpunit.xml

README.md

Current release Build status Code coverage Dependecies License

WordPress Plugin Feed

Example

WordPress developers should be informed of the updates of the plugins that use. Automattic provides feeds that do not give the necessary information:

WordPress Feed Plugin provides detailed feeds for plugin releases, avoiding the need to review the WordPress control panel or visit the profile of each plugin.

Features:

Because this tool parses HTML of different websites, result cannot be 100% accurate and can fail after a change in the code. So issues and pull requests are welcome...

Installation

Just download the release package and place the code on any web server, or clone the repository:

git clone https://github.com/vaites/wordpress-plugin-feed
cd wordpress-plugin-feed
composer update

Remember to run composer update after each update.

Usage

Use GET parameters:

http://your/web/server/wordpress-plugin-feed/index.php?plugin=PLUGIN

Or use the command line interface:

./cli.php generate --plugin=PLUGIN > feed.xml

Replace PLUGIN with plugin name, the same as WordPress uses in plugin URL (like better-wp-security for iThemes Security)

Options

PHP Dotenv, GET or CLI parameters are used to define configuration:

  • Limit: number of releases on output (default 25)
    • GET: limit=10
    • CLI: --limit="10"
    • ENV: OUTPUT_LIMIT="10"
  • Format: atom, rss, json or xml (default atom)
    • GET: format=rss
    • CLI: --format="rss""
    • ENV: OUTPUT_FORMAT="rss"
  • Filter: terms to match against title and content (default none)
    • GET: filter=security
    • CLI: --filter="security""
    • ENV: OUTPUT_FILTER="security"
  • Stability: one o more stability options (any, stable, alpha, beta, rc) separated by commas (default any)
    • GET: stability=stable,rc
    • CLI: --stability="stable,rc"
    • ENV: RELEASE_STABILITY="stable,rc"

There are some options configurable only via GET or CLI: Categories: one o more user defined categories, separated by commas (default none)

  • GET: categories=example.com,mywebsite.com
  • CLI: --categories="example.com,mywebsite.com"

Other options are only configurable with environment variables:

  • CACHE_TTL: cache life in seconds
  • CACHE_DIR: absolute path of cache directory

There's an .env.example file that you can copy to .env.

TO-DO

  • PHAR Package instead of ZIPs
  • Add database persistence
  • Add tags based on contents
  • Enhance search&replace (HTML safe)