PHP Classes
elePHPant
Icontem

WP_Plugin-Info: Retrieve WordPress plugin information values

Recommend this page to a friend!
  Info   View files Example   View files View files (33)   DownloadInstall with Composer Download .zip   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2018-02-22 (9 hours ago) RSS 2.0 feedNot yet rated by the usersTotal: 69 This week: 1All time: 9,032 This week: 672Up
Version License PHP version Categories
wp_plugin-info 1.0.4MIT/X Consortium ...5.6PHP 5, Content management, Blogs
Description Author

This package can retrieve WordPress plugin information values.

It can get an object that identifies a given plugin by name.

The package can also retrieve configuration values of each plugin using that object like the name, slug, version, author, profile, contributors, etc..

Innovation Award
PHP Programming Innovation award nominee
November 2017
Number 7
There are many WordPress plugins that depend on other plugins that may be installed or not.

This package provides a general solution for checking if other plugins with certain names are installed in a WordPress installation.

Manuel Lemos
  Performance   Level  
Name: Josantonius <contact>
Classes: 20 packages by
Country: Spain Spain
Innovation award
Innovation award
Nominee: 10x

Details

WP Plugin Info · Eliasis plugin

Latest Stable Version Latest Unstable Version License Codacy Badge Total Downloads Travis WP CodeCov

Versión en español

Get and save plugin information from WordPress API to be consumed by other modules.

Requirements

This library is supported by PHP versions 5.6 or higher and is compatible with HHVM versions 3.0 or higher.

Installation

The preferred way to install this extension is through Composer.

To install WP Plugin Info, simply:

$ composer require eliasis-framework/wp-plugin-info

The previous command will only install the necessary files, if you prefer to download the entire source code you can use:

$ composer require eliasis-framework/wp-plugin-info --prefer-source

You can also clone the complete repository with Git:

$ git clone https://github.com/eliasis-framework/wp-plugin-info.git

Available Methods

Available methods in this library:

- Get plugin information:

get($option, $slug);

| Atttribute | Description | Type | Required | --- | --- | --- | --- | | $option | Option to get. | string | Yes | | $slug | WordPress plugin slug. | string | Yes |

@return (mixed) ? Value or false.

Quick Start

To use this library with Composer:

use Eliasis\Complement\Type\Plugin;

$wp_plugin_info = Plugin::WP_Plugin_Info()->getControllerInstance('Main');

Usage

- Get plugin name:

# [string]

$wp_plugin_info->get('name', 'plugin-slug'); 

- Get plugin version:

# [string]

$wp_plugin_info->get('version', 'plugin-slug');

- Get plugin author:

# [string]

$author = $wp_plugin_info->get('author', 'plugin-slug');

- Get plugin author profile:

# [string]

$wp_plugin_info->get('author_profile', 'plugin-slug');

- Get plugin contributors:

# [array]

$wp_plugin_info->get('contributors', 'plugin-slug');

- Get plugin requires:

# [string]

$wp_plugin_info->get('requires', 'plugin-slug');

- Get plugin tested:

# [string]

$wp_plugin_info->get('tested', 'plugin-slug');

- Get plugin compatibility:

# [array]

$wp_plugin_info->get('compatibility', 'plugin-slug');

- Get plugin rating:

# [int]

$wp_plugin_info->get('rating', 'plugin-slug');

- Get plugin ratings:

# [array]

$wp_plugin_info->get('ratings', 'plugin-slug');

- Get plugin num ratings:

# [int]

$wp_plugin_info->get('num_ratings', 'plugin-slug');

- Get plugin support threads:

# [int]

$wp_plugin_info->get('support_threads', 'plugin-slug');

- Get plugin support threads resolved:

# [int]

$wp_plugin_info->get('support_threads_resolved', 'plugin-slug');

- Get plugin downloaded:

# [int]

$wp_plugin_info->get('downloaded', 'plugin-slug');

- Get plugin last updated:

# [string]

$wp_plugin_info->get('last_updated', 'plugin-slug');

- Get plugin added:

# [string]

$wp_plugin_info->get('added', 'plugin-slug');

- Get plugin homepage:

# [string]

$wp_plugin_info->get('homepage', 'plugin-slug');

- Get plugin download link:

# [string]

$wp_plugin_info->get('download_link', 'plugin-slug');

- Get plugin tags:

# [array]

$wp_plugin_info->get('tags', 'plugin-slug');

- Get plugin donate link:

# [string]

$wp_plugin_info->get('donate_link', 'plugin-slug');

Tests

To run tests you just need composer and to execute the following:

$ git clone https://github.com/eliasis-framework/wp-plugin-info.git

$ cd wp-plugin-info

$ bash bin/install-wp-tests.sh wordpress_test root '' localhost latest

$ composer install

Run unit tests with PHPUnit:

$ composer phpunit

Run WordPress code standard tests with PHPCS:

$ composer phpcs

Run PHP Mess Detector tests to detect inconsistencies in code style:

$ composer phpmd

Run all previous tests:

$ composer tests

? TODO

  • [ ] Add new feature.
  • [ ] Improve tests.
  • [ ] Improve documentation.
  • [ ] Refactor code for disabled code style rules. See phpmd.xml and .php_cs.dist.

Contribute

If you would like to help, please take a look at the list of issues or the To Do checklist.

Pull requests

  • Fork and clone.
  • Run the command composer install to install the dependencies. This will also install the dev dependencies.
  • Run the command composer fix to excute code standard fixers.
  • Run the tests.
  • Create a branch, commit, push and send me a pull request.

License

This project is licensed under MIT license. See the LICENSE file for more info.

Copyright

2017 - 2018 Josantonius, josantonius.com

If you find it useful, let me know :wink:

You can contact me on Twitter or through my email.

  Files folder image Files  
File Role Description
Files folder imagebin (1 file)
Files folder imageconfig (5 files)
Files folder imagesrc (3 directories)
Files folder imagetests (2 files, 1 directory)
Accessible without login Plain text file .editorconfig Data Auxiliary data
Accessible without login Plain text file .travis.yml Data Auxiliary data
Accessible without login Plain text file CHANGELOG.md Data Auxiliary data
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file CONDUCT.md Data Auxiliary data
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file phpcs.xml Data Auxiliary data
Accessible without login Plain text file phpmd.xml Data Auxiliary data
Accessible without login Plain text file README-ES.md Doc. Documentation
Accessible without login Plain text file README.md Doc. Documentation
Accessible without login Plain text file wp-plugin-info.jsond Data Auxiliary data
Accessible without login Plain text file _config.yml Data Auxiliary data

  Files folder image Files  /  bin  
File Role Description
  Accessible without login Plain text file install-wp-tests.sh Data Auxiliary data

  Files folder image Files  /  config  
File Role Description
  Accessible without login Plain text file add-paths.php Example Example script
  Accessible without login Plain text file add-urls.php Example Example script
  Accessible without login Plain text file files.php Example Example script
  Accessible without login Plain text file namespaces.php Aux. Auxiliary script
  Accessible without login Plain text file settings.php Aux. Auxiliary script

  Files folder image Files  /  src  
File Role Description
Files folder imagecontroller (1 file)
Files folder imagedata (1 file)
Files folder imagemodel (1 file)

  Files folder image Files  /  src  /  controller  
File Role Description
  Plain text file class-main.php Class Class source

  Files folder image Files  /  src  /  data  
File Role Description
  Accessible without login Plain text file plugins.jsond Data Auxiliary data

  Files folder image Files  /  src  /  model  
File Role Description
  Plain text file class-main.php Class Class source

  Files folder image Files  /  tests  
File Role Description
Files folder imagesample-app (1 directory)
  Accessible without login Plain text file bootstrap.php Example Example script
  Plain text file class-wp-plugin-info-test.php Class Class source

  Files folder image Files  /  tests  /  sample-app  
File Role Description
Files folder imageplugins (1 file, 1 directory)

  Files folder image Files  /  tests  /  sample-app  /  plugins  
File Role Description
Files folder imagewp-plugin-info (1 file, 2 directories)
  Accessible without login Plain text file .plugins-states.jsond Data Auxiliary data

  Files folder image Files  /  tests  /  sample-app  /  plugins  /  wp-plugin-info  
File Role Description
Files folder imageconfig (5 files)
Files folder imagesrc (3 directories)
  Accessible without login Plain text file wp-plugin-info.jsond Data Auxiliary data

  Files folder image Files  /  tests  /  sample-app  /  plugins  /  wp-plugin-info  /  config  
File Role Description
  Accessible without login Plain text file add-paths.php Example Example script
  Accessible without login Plain text file add-urls.php Example Example script
  Accessible without login Plain text file files.php Example Example script
  Accessible without login Plain text file namespaces.php Aux. Auxiliary script
  Accessible without login Plain text file settings.php Aux. Auxiliary script

  Files folder image Files  /  tests  /  sample-app  /  plugins  /  wp-plugin-info  /  src  
File Role Description
Files folder imagecontroller (1 file)
Files folder imagedata (1 file)
Files folder imagemodel (1 file)

  Files folder image Files  /  tests  /  sample-app  /  plugins  /  wp-plugin-info  /  src  /  controller  
File Role Description
  Plain text file class-main.php Class Class source

  Files folder image Files  /  tests  /  sample-app  /  plugins  /  wp-plugin-info  /  src  /  data  
File Role Description
  Accessible without login Plain text file plugins.jsond Data Auxiliary data

  Files folder image Files  /  tests  /  sample-app  /  plugins  /  wp-plugin-info  /  src  /  model  
File Role Description
  Plain text file class-main.php Class Class source

 Version Control Unique User Downloads Download Rankings  
 100%
Total:69
This week:1
All time:9,032
This week:672Up