Download the PHP package plugpressco/plugpress-sdk without Composer

On this page you can find all versions of the php package plugpressco/plugpress-sdk. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package plugpress-sdk

PlugPress SDK

Drop-in SDK for WordPress plugins. Provides self-hosted updates (stable + beta channels), license activation, telemetry opt-in, deactivation feedback, and a React Hub (About + License pages) backed by a REST API.


Components

Config key Class What it does
PlugPress_Config Typed, sanitized config every component consumes
updater PlugPress_Updater Checks updates.plugpress.co for new versions (stable or beta channel)
updater PlugPress_Beta Per-site beta-channel switch (Beta Hub)
pro + updater PlugPress_License License key activation / validation (key never leaves PHP; APIs return a masked form)
optin PlugPress_Optin GDPR-compliant telemetry opt-in (WP Guideline 7)
feedback PlugPress_Feedback Deactivation reason modal on plugins.php
PlugPress_Activation Activation timestamp + optional first-run redirect
PlugPress_API REST API (plugpress/v1/{slug}/…) behind the Hub — API-first
about / menu_parent PlugPress_About React Hub admin pages (About + License)
PlugPress_Products Cross-sell catalogue with resolved install state
PlugPress_Notices Shared flash + persistent admin notices

Every component is individually toggleable — disable what your distribution channel restricts.


Beta Hub

Each product can opt a site into its beta channel from the Hub (or via POST /plugpress/v1/{slug}/beta). When on, update checks send channel=beta; the update server serves the manifest's beta block when its version is newer than stable — with the exact same license gate and signed download token. Turning beta off (or shipping a stable ≥ the beta) returns the site to stable automatically.

Manifest side (on the updates worker):

Upload the zip as plugpress/<slug>/<slug>-1.3.0-beta.1.zip — same naming as stable.


REST API (API-first Hub)

Everything the Hub shows or changes goes through plugpress/v1 (cookie + nonce auth, capability required):

Route What
GET /{slug}/hub Full Hub payload: version, license (masked), beta, opt-in state, products
POST /{slug}/license { action: "activate"\|"deactivate", key? }
POST /{slug}/beta { enabled: bool }
POST /{slug}/optin { decision: "allow"\|"skip"\|"later" }

Consumer plugins can link their own data into the Hub: filter plugpress_sdk_hub_payload (PHP) adds data to the payload; the plugpress.hubSections JS filter (via @wordpress/hooks) appends UI sections.

Building the Hub app

The built app (admin/build/) is committed — composer consumers never run npm. To change it:


Distribution channel configs

1. PlugPress direct (full SDK)

Plugins sold at plugpress.co / outbees.co / inbees.co — SDK owns everything.


1b. Pro via Freemius (updates + licensing owned by Freemius)

Pro products sold through Freemius. One init call: the SDK boots the Freemius SDK (ship it in your plugin via composer require freemius/wordpress-sdk or a vendored freemius/ dir) and stands its own updater/license/opt-in/feedback down — Freemius owns all four. The Hub keeps the About page and shows a "Manage account" card linking to Freemius's account screen.


2. DiviPeople self-hosted (Freemius lite — no updater/license)

Plugins sold at divipeople.com that use Freemius lite for opt-in/feedback but NOT for updates. SDK adds About page + analytics.


3. Full Freemius SDK (Divi Torque Pro and similar)

Plugins that use the full Freemius SDK — Freemius already handles opt-in and feedback. SDK adds only the About page.


4. ET Marketplace version

Elegant Themes marketplace restricts all external HTTP calls. SDK adds only the About page — zero external calls.


5. Free plugins (WordPress.org)

WP.org handles updates — no updater or license needed. Opt-in and feedback are allowed.


Toggle cheatsheet

Channel updater optin feedback
PlugPress direct true true true
DiviPeople (Freemius lite) false true true
Full Freemius SDK false false false
ET Marketplace false false false
WordPress.org free false true true

Full config reference


Installation

Load the autoloader before calling PlugPress_SDK::init():

Shipping tip: end-user sites don't run composer install, so commit the built vendor/ into your plugin's release zip, or run composer install --no-dev -o in your build step. The classes are class_exists-guarded so multiple PlugPress plugins each carrying their own copy won't collide.


Releasing updates

Update in each plugin:


Versioning note (shared-SDK collision)

Classes are class_exists-guarded, so when several active plugins each bundle the SDK, the first-loaded copy wins — plugins must tolerate running against a slightly older SDK than they shipped. Keep the public surface backward-compatible within a major version. (ThemeIsle's SDK solves this with version-negotiated loading — the newest bundled copy wins; worth adopting here if the SDK's surface starts moving fast.)


All versions of plugpress-sdk with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package plugpressco/plugpress-sdk contains the following files

Loading the files please wait ...