Recent was er een grote update van de bekende plugin NextGEN Gallery. Dit was echter een dramatisch update m.b.t. de user-interface waarbij vele instel mogelijkheden waren verdwenen. Het terugzetten van de oude versie loste dit weer op. Er is echter een ’truc’ om de oude configuratie-mogelijkheden van NextGEN Gallery weer terug te krijgen. Zie hiervoor het volgende topic in het Forum van NextGEN gallery.

Dit zette me aan het denken hoe je kan voorkomen dat een specifieke Plugin van je WordPress installatie kan worden uitgezonderd van de updates van WordPress. Hoe je dit doet vertel ik hieronder.

  1. Creëer een Child-Thema van je hoofd-thema door de volgende stappen uit te voeren (zie deze link): 
    • Maak een nieuwe map aan in de “wp-content/themes/” directory van je WordPress installatie (bijvoorbeeld “jouwthema-child”).
       
    • Maak bestand “style.css” in de nieuwe map en voeg de volgende basiscode toe, waarbij je de info aanpast aan jouw thema (vervang Template: twentytwentyone door de map naam van het hoofdthema):
      /*
      Theme Name: Mijn Child Thema
      Template: twentytwentyone
      Description: Mijn eigen child thema
      Author: Jouw Naam
      */
    • Maak bestand “functions.php” en zet hierin de volgende inhoud:
      <?php
      add_action( 'wp_enqueue_scripts', 'enqueue_parent_styles' );
      
      function enqueue_parent_styles() {
          wp_enqueue_style( 'parent-style', get_template_directory_uri().'/style.css' );
      }
      ?>
    • Activeer: Ga naar je WordPress dashboard onder Weergave > Thema’s, zoek je nieuwe child thema en activeer het.

     

  2. Pas je functions.php file in je child-thema aan. Voeg de volgende regels toe (voeg aan de $pluginsToDisable lijst je plugin(s) toe die je wilt disablen van de update (dit is de PHP file die je in de hoofd-directory van je plugin kunt vinden):
    function disable_plugin_updates( $value ) {
        $pluginsToDisable = [
            'nextgen-gallery/nggallery.php'
        ];
    
        if ( isset($value) && is_object($value) ) {
            foreach ($pluginsToDisable as $plugin) {
                if ( isset( $value->response[$plugin] ) ) {
                    unset( $value->response[$plugin] );
                }
            }
        }
        return $value;
    }
    add_filter( 'site_transient_update_plugins', 'disable_plugin_updates' );

Vanaf nu worden al de plugins in de ‘$pluginsToDisable’ lijst niet meegenomen in de update check van WordPress.