Benötigte Wordpress Plugins im Theme definieren

Mit der “TGM Plugin Activation”-Library ist es möglich im Theme anzugeben, welche Plugins der User installieren & aktivieren muss.

Dazu muss man die Klasse herunterladen von der Website

Offizielle Doku zur Konfiguration ist hier.

<?php
/* ******************* *\
 *  NOTWENIDGE PLUGINS *
\* ******************* */
require_once get_template_directory() . '/lib/tgmplugin/class-tgm-plugin-activation.php';  // Korrekten Link zur Klasse angeben
 
add_action( 'tgmpa_register', 'mein_theme_register_required_plugins' );
 
function mein_theme_register_required_plugins() {
	$plugins = array(
		/* Unyson wird benötigt */
		array(
			'name'      => 'Unyson',
			'slug'      => 'unyson',
			'required'  => true,
		),
		/* weitere Plugins, z.B.:
		array(
			'name'      => 'Optiontree',
			'slug'      => 'optiontree',
			'required'  => true,
		),
		*/
	);
 
	/* Konfiguration des Loaders */
	$config = array(
		'id'           => 'Mein Theme',             // Unique ID for hashing notices for multiple instances of TGMPA.
		'default_path' => '',                      // Default absolute path to bundled plugins.
		'menu'         => 'tgmpa-install-plugins', // Menu slug.
		'parent_slug'  => 'themes.php',            // Parent menu slug.
		'capability'   => 'edit_theme_options',    // Capability needed to view plugin install page, should be a capability associated with the parent menu used.
		'has_notices'  => true,                    // Show admin notices or not.
		'dismissable'  => false,                   // If false, a user cannot dismiss the nag message.
		'dismiss_msg'  => '',                      // If 'dismissable' is false, this message will be output at top of nag.
		'is_automatic' => false,                   // Automatically activate plugins after installation or not.
		'message'      => '',                      // Message to output right before the plugins table.
	);
 
	tgmpa( $plugins, $config );
}