WordPress | WP-Plugins

Im Childtheme Meldungen über empfohlene Plugins des Parents abstellen

yellow leaves 2919183 1920

Premium-Themes kommen oft nicht alleine, sondern bringen eine Reihe von erforderlichen oder empfohlenen Erweiterungen mit. Installiert und aktiviert man nicht alle, zum Beispiel weil man keinen oder nur einen Slider verwenden will und nicht gleich alle fünf, wird man von Aufforderungen wie This theme requires the following plugin... oder The following recommended plugins are currently inactive... immer wieder neu konfrontiert.

Zuständig für die Überwachung und Meldungen über nicht installierte oder aktivierte Komponenten ist in vielen Fällen TGM Plugin Activation. Das lässt sich ganz einfach feststellen, indem man die Dateien des Parents nach tgmpa_register durchsucht.

Die Meldungen kann dann man abstellen, indem die Funktion die den Hook anspricht, im Theme-Setup des Childthemes aus diesem wieder entfernt.

function child_theme_setup() {
	remove_action( 'tgmpa_register', 'parent_theme_register_required_plugins' );
}
add_action( 'after_setup_theme', 'child_theme_setup' );

Damit sind allerdings alle weg, inklusive eingebundenem Pagebuilder, wie zum Beispiel Visual Composer mit dem man vielleicht seine Landingpage gestalten will. Die weiterhin erforderlichen und erwünschten Komponenten müssen also im Childtheme neu festgelegt werden (entsprechende Passage(n) aus dem Partent-Theme kopieren).

add_action( 'tgmpa_register', 'child_theme_register_required_plugins' );
function child_theme_register_required_plugins() {
        $logos = get_template_directory() . '/assets/images/';
	$plugins = array(
		array(
			'name'     				=> 'Visual Composer',
			'slug'     				=> 'js_composer',
			'source'   				=> get_template_directory() . '/framework/plugins/js_composer.zip',
			'required' 				=> true,
			'version' 				=> '5.4.2', /* Version beibehalten, da im Theme-Paket enthalten */
			'force_activation' 		        => false,
			'force_deactivation' 	                => false,
			'logo'				=> $logos.'vc.png',
			'author'			=> 'wpbakery',
			'desc'				=> 'Visual Composer for WordPress is drag and drop frontend and backend page builder plugin that will save your time',
			'type'				=> 'addon',
		),

	);


	tgmpa( $plugins );

}

Von ehemals sieben Plugins von denen sechs nicht benötigt wurden bleibt in diesem Fall nur eines übrig, der Pagebuilder. Dieser ist (wie viele andere auch) selbst wieder ein Premium-Produkt. Seine realen Updatezyklen weichen von jenen ab die das Theme ausliefert. Direkte Updates des Plugins bekommt man aber nur, wenn man es extra kauft, was man aber nicht muss, weil es ja Bestandteil des gekauften Themes ist.

Aus dem Grund macht es keinen Sinn, wenn Aufforderungen zu Updates in der Pluginliste angezeigt werden.

Updateprüfung für ein themezugehöriges Plugin abschalten

function child_remove_update_notifications($value) {
	unset( $value->response['js_composer/js_composer.php'] );
	return $value;
}
add_filter( 'site_transient_update_plugins', 'child_remove_update_notifications' );

Alle anderen Updates werden nach wie vor angezeigt.

Hinweis: zuerst in einer Testumgebung ausprobieren. Mithin werden auch als required deklarierte Plugins nicht zwingend benötigt, z.B. braucht kein Sliderplugin, wer keinen Slider verwendet.

weiter schmökern

One Comment

  1. Hoffe, das wird bei mir auch funktionieren. Ich finde es extrem lästig, dass ich einen Slider installieren soll, den ich nicht verwende, weil er nicht funktioniert.

Schreibe einen Kommentar

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden.

Deine E-Mail-Adresse wird nicht veröffentlicht.