diff --git a/.travis.yml b/.travis.yml index ed0bbd7..2a6dc23 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,55 +1,61 @@ language: php - -php: - - 7.1.9 - -services: - - docker - -cache: - directories: - - vendor - - $HOME/.composer/cache +dist: trusty notifications: email: on_success: never on_failure: change +cache: + directories: + - $HOME/.composer/cache + matrix: include: - - env: PHP_VERSION=5.3 WP_VERSION=4.2.16 - - env: PHP_VERSION=5.3 WP_VERSION=latest WP_PULUGIN_DEPLOY=1 - - env: PHP_VERSION=5.3 WP_VERSION=trunk - - env: PHP_VERSION=7.1 WP_VERSION=4.2.16 - - env: PHP_VERSION=7.1 WP_VERSION=latest - - env: PHP_VERSION=7.1 WP_VERSION=trunk - - allow_failures: - - env: PHP_VERSION=5.3 WP_VERSION=trunk - - env: PHP_VERSION=7.1 WP_VERSION=trunk - + - php: 7.3 + env: WP_VERSION=trunk + - php: 7.3 + env: WP_VERSION=latest WP_PULUGIN_DEPLOY=1 + - php: 7.2 + env: WP_VERSION=latest + - php: 7.1 + env: WP_VERSION=latest + - php: 7.0 + env: WP_VERSION=latest + - php: 5.6 + env: WP_VERSION=4.3 + - php: 5.6 + env: WP_TRAVISCI=phpcs before_script: - composer install - - curl -L https://raw.githubusercontent.com/torounit/wpenv/issue/support-nightly/run.sh | bash -s $PHP_VERSION $WP_VERSION - - docker exec -u root wpenv ln -s /home/ubuntu/.phpenv/shims/php /usr/local/bin/ - - docker exec -u root wpenv ln -s /home/ubuntu/.phpenv/shims/composer /usr/local/bin/ + - export PATH="$HOME/.composer/vendor/bin:$PATH" + - | + if [ -f ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/xdebug.ini ]; then + phpenv config-rm xdebug.ini + else + echo "xdebug.ini does not exist" + fi - | if [[ ! -z "$WP_VERSION" ]] ; then - docker exec wpenv composer global remove "phpunit/phpunit" - if [[ ${PHP_VERSION:0:2} == "5." ]]; then - docker exec wpenv composer global require "phpunit/phpunit=4.8.*" - else - docker exec wpenv composer global require "phpunit/phpunit=5.7.*" - fi + bash bin/install-wp-tests.sh wordpress_test root '' localhost $WP_VERSION + composer global require "phpunit/phpunit=4.8.*|5.7.*" fi - | - - docker exec -u root wpenv ln -s /home/ubuntu/.phpenv/shims/phpunit /usr/local/bin/ + if [[ "$WP_TRAVISCI" == "phpcs" ]] ; then + composer global require wp-coding-standards/wpcs + phpcs --config-set installed_paths $HOME/.composer/vendor/wp-coding-standards/wpcs + fi script: - - docker exec wpenv composer phpcs - - docker exec wpenv phpunit - - docker exec -e WP_MULTISITE=1 wpenv phpunit - -after_success: curl -L https://raw.githubusercontent.com/miya0001/travis2wpplugin/master/deploy.sh | bash + - | + if [[ ! -z "$WP_VERSION" ]] ; then + phpunit + WP_MULTISITE=1 phpunit + fi + - | + if [[ "$WP_TRAVISCI" == "phpcs" ]] ; then + composer phpcs + fi +after_success: + - bash bin/deploy.sh diff --git a/PPPP/Module/Core.php b/PPPP/Module/Core.php index 13879aa..e5fec3a 100644 --- a/PPPP/Module/Core.php +++ b/PPPP/Module/Core.php @@ -52,6 +52,6 @@ public function pre_get_posts( WP_Query $query ) { return; } } -} + } } } diff --git a/PPPP/Module/Option.php b/PPPP/Module/Option.php index 8217b19..b7ccaa6 100644 --- a/PPPP/Module/Option.php +++ b/PPPP/Module/Option.php @@ -17,7 +17,6 @@ class PPPP_Module_Option extends PPPP_Module { */ public function add_hook() { register_uninstall_hook( PPPP_PLUGIN_FILE, array( __CLASS__, 'uninstall_hook' ) ); - } /** diff --git a/bin/create-release.sh b/bin/create-release.sh new file mode 100644 index 0000000..48a3543 --- /dev/null +++ b/bin/create-release.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash + +set -e + +if [ $# -lt 1 ]; then + echo "usage: $0 " + exit 1 +fi + +version=$1 + +if [ ! `echo $version | grep -e 'alpha' -e 'beta' -e 'RC' -e 'rc'` ] ; then + sed -i '' -e "s/^Stable tag: .*/Stable tag: ${version}/g" readme.txt; +fi + +sed -i '' -e "s/^ \* Version: .*/ * Version: ${version}/g" pppp.php; +sed -i '' -e "s/^ \* @version .*/ * @version ${version}/g" pppp.php; diff --git a/bin/deploy.sh b/bin/deploy.sh new file mode 100644 index 0000000..494f113 --- /dev/null +++ b/bin/deploy.sh @@ -0,0 +1,82 @@ +#!/usr/bin/env bash + +set -e + +if [[ "false" != "$TRAVIS_PULL_REQUEST" ]]; then + echo "Not deploying pull requests." + exit +fi + +if [[ ! $WP_PULUGIN_DEPLOY ]]; then + echo "Not deploying." + exit +fi + +if [[ ! $SVN_REPO ]]; then + echo "SVN repo is not specified." + exit +fi + +# Untrailing slash of SVN_REPO path +SVN_REPO=`echo $SVN_REPO | sed -e "s/\/$//"` +# Git repository +GH_REF=https://github.com/${TRAVIS_REPO_SLUG}.git + +echo "Starting deploy..." + +mkdir deploy + +cd deploy +BASE_DIR=$(pwd) + +echo "Checking out trunk from $SVN_REPO ..." +svn co -q $SVN_REPO/trunk + +echo "Getting clone from $GH_REF to $SVN_REPO ..." +git clone -q $GH_REF ./git + +cd ./git + +if [ -e "bin/build.sh" ]; then + echo "Starting bin/build.sh." + bash bin/build.sh +fi + +cd $BASE_DIR + +echo "Syncing git repository to svn" +rsync -a --exclude=".svn" --checksum --delete ./git/ ./trunk/ +rm -fr ./git + +cd ./trunk + +if [ -e ".distignore" ]; then + echo "svn propset form .distignore" + svn propset -q -R svn:ignore -F .distignore . + +else + if [ -e ".svnignore" ]; then + echo "svn propset" + svn propset -q -R svn:ignore -F .svnignore . + fi +fi + +echo "Run svn add" +svn st | grep '^!' | sed -e 's/\![ ]*/svn del -q /g' | sh +echo "Run svn del" +svn st | grep '^?' | sed -e 's/\?[ ]*/svn add -q /g' | sh + +# If tag number and credentials are provided, commit to trunk. +if [[ $TRAVIS_TAG && $SVN_USER && $SVN_PASS ]]; then + if [[ ! -d tags/$TRAVIS_TAG ]]; then + echo "Commit to $SVN_REPO." + svn commit -m "commit version $TRAVIS_TAG" --username $SVN_USER --password $SVN_PASS --non-interactive 2>/dev/null + echo "Take snapshot of $TRAVIS_TAG" + svn copy $SVN_REPO/trunk $SVN_REPO/tags/$TRAVIS_TAG -m "Take snapshot of $TRAVIS_TAG" --username $SVN_USER --password $SVN_PASS --non-interactive 2>/dev/null + else + echo "tags/$TRAVIS_TAG already exists." + fi +else + echo "Nothing to commit and check \`svn st\`." + svn st +fi diff --git a/codesniffer.ruleset.xml b/codesniffer.ruleset.xml index b66d7b3..420f15b 100644 --- a/codesniffer.ruleset.xml +++ b/codesniffer.ruleset.xml @@ -1,15 +1,50 @@ - - - - - - - - - - + + Generally-applicable sniffs for WordPress plugins. - */vendor/* - */tests/* + + . + /vendor/ + /node_modules/ + /wordpress/ + /tests/ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/composer.json b/composer.json index 83330c3..bbdfa2d 100644 --- a/composer.json +++ b/composer.json @@ -11,18 +11,20 @@ ], "require": {}, "require-dev": { - "squizlabs/php_codesniffer": "^2.7", - "wp-coding-standards/wpcs": "^0.10" + "squizlabs/php_codesniffer": "^3.4.2", + "wp-coding-standards/wpcs": "^2.0", + "phpcompatibility/phpcompatibility-wp": "^2.0", + "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0" }, "scripts": { "post-install-cmd": [ - "@php vendor/bin/phpcs --config-set installed_paths vendor/wp-coding-standards/wpcs/" + "phpcs -i" ], - "post-update-cmd": [ - "@php vendor/bin/phpcs --config-set installed_paths vendor/wp-coding-standards/wpcs/" + "fix": [ + "phpcs -p -s -v -n --standard=./codesniffer.ruleset.xml --extensions=php --report-diff=changes.diff; patch -p0 -ui changes.diff; rm changes.diff" ], "phpcs": [ - "@php vendor/bin/phpcs -p -s -v -n . --standard=./codesniffer.ruleset.xml --extensions=php" + "phpcs -p -s -v -n . --standard=./codesniffer.ruleset.xml --extensions=php" ] } } diff --git a/composer.lock b/composer.lock index d594064..9821b0f 100644 --- a/composer.lock +++ b/composer.lock @@ -1,72 +1,271 @@ { "_readme": [ "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "638eb2eb52ea7b6d25e695caa1d263f4", + "content-hash": "ae4933a4804286c19699dba6d9d08142", "packages": [], "packages-dev": [ + { + "name": "dealerdirect/phpcodesniffer-composer-installer", + "version": "v0.5.0", + "source": { + "type": "git", + "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git", + "reference": "e749410375ff6fb7a040a68878c656c2e610b132" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/e749410375ff6fb7a040a68878c656c2e610b132", + "reference": "e749410375ff6fb7a040a68878c656c2e610b132", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.0", + "php": "^5.3|^7", + "squizlabs/php_codesniffer": "^2|^3" + }, + "require-dev": { + "composer/composer": "*", + "phpcompatibility/php-compatibility": "^9.0", + "sensiolabs/security-checker": "^4.1.0" + }, + "type": "composer-plugin", + "extra": { + "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" + }, + "autoload": { + "psr-4": { + "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Franck Nijhof", + "email": "franck.nijhof@dealerdirect.com", + "homepage": "http://www.frenck.nl", + "role": "Developer / IT Manager" + } + ], + "description": "PHP_CodeSniffer Standards Composer Installer Plugin", + "homepage": "http://www.dealerdirect.com", + "keywords": [ + "PHPCodeSniffer", + "PHP_CodeSniffer", + "code quality", + "codesniffer", + "composer", + "installer", + "phpcs", + "plugin", + "qa", + "quality", + "standard", + "standards", + "style guide", + "stylecheck", + "tests" + ], + "time": "2018-10-26T13:21:45+00:00" + }, + { + "name": "phpcompatibility/php-compatibility", + "version": "9.3.4", + "source": { + "type": "git", + "url": "https://github.com/PHPCompatibility/PHPCompatibility.git", + "reference": "1f37659196e4f3113ea506a7efba201c52303bf1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/1f37659196e4f3113ea506a7efba201c52303bf1", + "reference": "1f37659196e4f3113ea506a7efba201c52303bf1", + "shasum": "" + }, + "require": { + "php": ">=5.3", + "squizlabs/php_codesniffer": "^2.3 || ^3.0.2" + }, + "conflict": { + "squizlabs/php_codesniffer": "2.6.2" + }, + "require-dev": { + "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0" + }, + "suggest": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.", + "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." + }, + "type": "phpcodesniffer-standard", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Wim Godden", + "homepage": "https://github.com/wimg", + "role": "lead" + }, + { + "name": "Juliette Reinders Folmer", + "homepage": "https://github.com/jrfnl", + "role": "lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors" + } + ], + "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.", + "homepage": "http://techblog.wimgodden.be/tag/codesniffer/", + "keywords": [ + "compatibility", + "phpcs", + "standards" + ], + "time": "2019-11-15T04:12:02+00:00" + }, + { + "name": "phpcompatibility/phpcompatibility-paragonie", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie.git", + "reference": "b862bc32f7e860d0b164b199bd995e690b4b191c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityParagonie/zipball/b862bc32f7e860d0b164b199bd995e690b4b191c", + "reference": "b862bc32f7e860d0b164b199bd995e690b4b191c", + "shasum": "" + }, + "require": { + "phpcompatibility/php-compatibility": "^9.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.5", + "paragonie/random_compat": "dev-master", + "paragonie/sodium_compat": "dev-master" + }, + "suggest": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.", + "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." + }, + "type": "phpcodesniffer-standard", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Wim Godden", + "role": "lead" + }, + { + "name": "Juliette Reinders Folmer", + "role": "lead" + } + ], + "description": "A set of rulesets for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by the Paragonie polyfill libraries.", + "homepage": "http://phpcompatibility.com/", + "keywords": [ + "compatibility", + "paragonie", + "phpcs", + "polyfill", + "standards" + ], + "time": "2019-11-04T15:17:54+00:00" + }, + { + "name": "phpcompatibility/phpcompatibility-wp", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git", + "reference": "41bef18ba688af638b7310666db28e1ea9158b2f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/41bef18ba688af638b7310666db28e1ea9158b2f", + "reference": "41bef18ba688af638b7310666db28e1ea9158b2f", + "shasum": "" + }, + "require": { + "phpcompatibility/php-compatibility": "^9.0", + "phpcompatibility/phpcompatibility-paragonie": "^1.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.5" + }, + "suggest": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.", + "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues." + }, + "type": "phpcodesniffer-standard", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Wim Godden", + "role": "lead" + }, + { + "name": "Juliette Reinders Folmer", + "role": "lead" + } + ], + "description": "A ruleset for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by WordPress.", + "homepage": "http://phpcompatibility.com/", + "keywords": [ + "compatibility", + "phpcs", + "standards", + "wordpress" + ], + "time": "2019-08-28T14:22:28+00:00" + }, { "name": "squizlabs/php_codesniffer", - "version": "2.9.1", + "version": "3.5.2", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "dcbed1074f8244661eecddfc2a675430d8d33f62" + "reference": "65b12cdeaaa6cd276d4c3033a95b9b88b12701e7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/dcbed1074f8244661eecddfc2a675430d8d33f62", - "reference": "dcbed1074f8244661eecddfc2a675430d8d33f62", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/65b12cdeaaa6cd276d4c3033a95b9b88b12701e7", + "reference": "65b12cdeaaa6cd276d4c3033a95b9b88b12701e7", "shasum": "" }, "require": { "ext-simplexml": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*", - "php": ">=5.1.2" + "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "~4.0" + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" }, "bin": [ - "scripts/phpcs", - "scripts/phpcbf" + "bin/phpcs", + "bin/phpcbf" ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-master": "3.x-dev" } }, - "autoload": { - "classmap": [ - "CodeSniffer.php", - "CodeSniffer/CLI.php", - "CodeSniffer/Exception.php", - "CodeSniffer/File.php", - "CodeSniffer/Fixer.php", - "CodeSniffer/Report.php", - "CodeSniffer/Reporting.php", - "CodeSniffer/Sniff.php", - "CodeSniffer/Tokens.php", - "CodeSniffer/Reports/", - "CodeSniffer/Tokenizers/", - "CodeSniffer/DocGenerators/", - "CodeSniffer/Standards/AbstractPatternSniff.php", - "CodeSniffer/Standards/AbstractScopeSniff.php", - "CodeSniffer/Standards/AbstractVariableSniff.php", - "CodeSniffer/Standards/IncorrectPatternException.php", - "CodeSniffer/Standards/Generic/Sniffs/", - "CodeSniffer/Standards/MySource/Sniffs/", - "CodeSniffer/Standards/PEAR/Sniffs/", - "CodeSniffer/Standards/PSR1/Sniffs/", - "CodeSniffer/Standards/PSR2/Sniffs/", - "CodeSniffer/Standards/Squiz/Sniffs/", - "CodeSniffer/Standards/Zend/Sniffs/" - ] - }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" @@ -78,31 +277,40 @@ } ], "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "http://www.squizlabs.com/php-codesniffer", + "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", "keywords": [ "phpcs", "standards" ], - "time": "2017-05-22T02:43:20+00:00" + "time": "2019-10-28T04:36:32+00:00" }, { "name": "wp-coding-standards/wpcs", - "version": "0.10.0", + "version": "2.2.0", "source": { "type": "git", - "url": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards.git", - "reference": "b39490465f6fd7375743a395019cd597e12119c9" + "url": "https://github.com/WordPress/WordPress-Coding-Standards.git", + "reference": "f90e8692ce97b693633db7ab20bfa78d930f536a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/WordPress-Coding-Standards/WordPress-Coding-Standards/zipball/b39490465f6fd7375743a395019cd597e12119c9", - "reference": "b39490465f6fd7375743a395019cd597e12119c9", + "url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/f90e8692ce97b693633db7ab20bfa78d930f536a", + "reference": "f90e8692ce97b693633db7ab20bfa78d930f536a", "shasum": "" }, "require": { - "squizlabs/php_codesniffer": "^2.6" + "php": ">=5.4", + "squizlabs/php_codesniffer": "^3.3.1" }, - "type": "library", + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0", + "phpcompatibility/php-compatibility": "^9.0", + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "suggest": { + "dealerdirect/phpcodesniffer-composer-installer": "^0.5.0 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically." + }, + "type": "phpcodesniffer-standard", "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" @@ -110,7 +318,7 @@ "authors": [ { "name": "Contributors", - "homepage": "https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/graphs/contributors" + "homepage": "https://github.com/WordPress/WordPress-Coding-Standards/graphs/contributors" } ], "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions", @@ -119,7 +327,7 @@ "standards", "wordpress" ], - "time": "2016-08-29T20:04:47+00:00" + "time": "2019-11-11T12:34:03+00:00" } ], "aliases": [], diff --git a/package.json b/package.json new file mode 100644 index 0000000..4232966 --- /dev/null +++ b/package.json @@ -0,0 +1,30 @@ +{ + "name": "pppp", + "version": "1.0.1", + "description": "Posts per page for custom post types and taxonomies.", + "private": true, + "directories": { + "test": "tests" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/torounit/pppp.git" + }, + "author": "", + "license": "GPL-2.0+", + "bugs": { + "url": "https://github.com/torounit/pppp/issues" + }, + "homepage": "https://github.com/torounit/pppp#readme", + "release-it": { + "hooks": { + "before:bump": "bash ./bin/create-release.sh ${version}" + }, + "github": { + "release": true + }, + "npm": { + "publish": false + } + } +} diff --git a/pppp.php b/pppp.php index cb8ecbd..de90c74 100644 --- a/pppp.php +++ b/pppp.php @@ -72,7 +72,6 @@ class PPPP { * PPPP constructor. */ public function __construct() { - $this->init = new PPPP_Module_Init(); $this->option = new PPPP_Module_Option(); $this->core = new PPPP_Module_Core(); diff --git a/readme.txt b/readme.txt index 0f9d4fd..985e8fc 100644 --- a/readme.txt +++ b/readme.txt @@ -2,8 +2,8 @@ Contributors: Toro_Unit Donate link: https://www.amazon.co.jp/registry/wishlist/COKSXS25MVQV Tags: post type,taxonomy,cms,posts per page -Requires at least: 4.2 -Tested up to: 4.9 +Requires at least: 4.3 +Tested up to: 5.3 Stable tag: 1.0.1 Posts per page for custom post types and taxonomies.