Tutorials

Create a Composer repository to manage your premium extensions

Admit it, if you have several sites to maintain and you do not want to go through the button “update” for practical reasons and speed, the premium extensions are pretty boring to manage.

What solutions to update your WordPress premium extensions?

You have severals solutions:

  • Go to the site of the publisher of the extension, on his profile, retrieve the .zip of the update and transfer it via FTP or via Git according to the habits of each. This operation will be repeated on each of your sites …
  • Have a copy of “dev” of its sites locally with API keys filled and click on the button that goes well …
  • Have a Composer repository with the latest version of its WordPress premiums extensions available.

And it is this last solution that I intend to present you in these few lines!

Composer is a dependency manager for PHP but this tutorial is not intended to explain the operation of this software. Being very widespread, others will explain all that much better than me.

The idea is to create your own Composer repository on which we can upload the different extensions in their latest versions, then it will be enough to launch an update via Composer on our different projects! And that is precisely what Release Belt de Rarst proposed.

Discovering Release belt

Release Belt is an open-source project developped by Andrey Savchenko.

The installation is quite simple since you only need to clone a Git repository on your web hosting. Personally I created a subdomain composer.thivinfo.com on which I installed Release Belt.

A Lire Aussi:  Using Lando to develop under Docker !

The Readme is pretty clear and in 3 commands your deposit composer will be created:

Shell

At this point, your private composer repository is installed, it only remains to upload the zip of your extensions on this deposit.

For that you have to create in the releases directory a “type” folder then in this type folder, create a folder with the name of the extension and inside that to upload the zip … what is not clear? !

The “Type” folder should be named by a native Composer type name or in the case that interests us: “wordpress-plugin” but these possibilities exist:

  • wordpress-plugin
  • wordpress-theme
  • wordpress-muplugin
  • wordpress-dropin

Potentially, you could handle any other projects other than WordPress using these types.

On my installation, the path to the SeoPress Pro releases will be /public_html/prod/composer/release-belt/releases/wordpress-plugin/wp-seopress-pro
where

  •  /public_html/prod/composer/ is the path root to my Release Belt installation.
  • /releases/wordpress-plugin/ is the folder with all my premiums plugins.

So that only you or authorized users can access your Composer repository, I strongly advise you to protect it via an authentication system. plugins or premiums themes developers may not like you to share their work for free.

Use your custom Composer repository in a WordPress project.

All relevant information can be found on the home page of your Composer submission. At my place is compose.thivinfo.com.

If you are used to compose, you will analyze the information provided by this page auto-generated by Release-Belt.

Otherwise, you have to declare in a composer.json:

"repositories": {
        "composer.thivinfo.com": {
            "type": "composer",
            "url": "https://composer.thivinfo.com/"
        }
    }

Then in the part listing the WordPress extensions of the project you will copy / paste the lines for the desired extension.

A Lire Aussi:  3 minutes to install WordPress!

For example to add WP Rocket to my project, I will add the following lines to my composer.json at the root of it:

"wp-rocket/wp-rocket": "^3.2.2"

Easy!

Ne ratez aucun de mes articles, abonnez vous à ma newsletter

(1 mail par mois s'il y a du nouveau contenu)

About the Author

Avatar - Sebastien Serre

Sebastien Serre

Passionate about the web since the late 1990s, I have developed over the years skills in web creation. Creating WordPress websites since 2006 and developing exclusively on Wordpress since 2014. I would create the site or WordPress extension you need. Developer of extensions, Core contributor, Moderator on the WPFR forum, WordPress translator and speaker on WordCamp, my life is punctuated by WordPress

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

venenatis, diam nunc Praesent dapibus justo Aliquam elit. ut