View Categories

Install PublishPress Plugins Using Composer

You can install and manage PublishPress plugins using Composer with WPStarter, Bedrock, or any setup.

Key difference: Pro plugins require authentication to our private repositories. Free plugins don't.

Note: WPStarter/Bedrock aren't required—they're optional tools for managing WordPress itself via Composer.


Composer Setup for PublishPress Pro Plugins #

Activating the license key for your site #

You must activate your license key for each site where you use it.

Steps:

  1. Go to https://publishpress.com/dashboard/
  2. Click “Manage Sites” for your license key
  3. Enter the site URL and click “Add”

Configuring composer.json #

Add https://pkg.publishpress.com/v1 as a Composer repository in your composer.json:

{
    "repositories": [
        {
            "type": "composer",
            "url": "https://pkg.publishpress.com/v1"
        }
    ],
    "require": {
        "publishpress/publishpress-future-pro": "^1.0",
        "publishpress/publishpress-authors-pro": "^1.0"
    }
}

Note: Replace "*" with proper version constraints (e.g., "^1.0", "~2.3.0") per Composer's versioning.

Available packages:

  • publishpress/publishpress-future-pro
  • publishpress/publishpress-authors-pro
  • publishpress/publishpress-checklists-pro
  • publishpress/publishpress-capabilities-pro
  • publishpress/publishpress-planner-pro
  • publishpress/publishpress-permissions-pro
  • publishpress/publishpress-statuses-pro
  • publishpress/publishpress-blocks-pro
  • publishpress/publishpress-series-pro
  • publishpress/publishpress-revisions-pro

Authenticating Pro Plugins #

Create auth.json with your license credentials

{
    "http-basic": {
        "pkg.publishpress.com": {
            "username": "YOUR_LICENSE_KEY",
            "password": "YOUR_SITE_URL"
        }
    }
}

Security: Add auth.json to .gitignore to avoid committing credentials.


Composer Setup for PublishPress Free Plugins #

Install free plugins via wpackagist.org.

Package names:


Installing From a Local Path #

Composer supports installing packages from local directories instead of remote repositories. Download the plugin ZIP files and extract them to your chosen folder, then configure your repository:

{
  "repositories": [
    {
      "type": "path",
      "url": "../../packages/the-plugin-package"
    }
  ]
}

Replace ../../packages/the-plugin-package with your actual path relative to composer.json.


Directory Names #

Legacy naming: Some plugins (Blocks, Capabilities, Future) use legacy folder names when installed via WordPress admin or ZIP upload.

Composer naming: When installed via Composer, all plugins use the package name from your composer.json require setting as the folder name.

Example: publishpress/publishpress-future-pro installs to /publishpress-future-pro/ instead of the legacy folder name.


Switching to Composer for Existing Plugins #

If you've previously installed a PublishPress plugin through WordPress and want to manage it using Composer, follow these steps:

  1. Backup your site
  2. Delete the plugin folder from your WordPress plugins directory to avoid conflicts
  3. Add the plugin to composer.json following the instructions above
  4. Runcomposer update
  5. Visit the admin panel – any required migration tasks will run automatically