Im Childtheme Meldungen über empfohlene Plugins des Parents abstellen

yellow leaves 2919183 1920
Bildquelle: Pixabay, pasja1000

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.

Eine Antwort zu „Im Childtheme Meldungen über empfohlene Plugins des Parents abstellen“

  1. Michael

    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.

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar zu Michael Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable