Heim  >  Artikel  >  CMS-Tutorial  >  Verbessern Sie Ihr Theme: Integrieren Sie das Envato WordPress Toolkit-Plugin

Verbessern Sie Ihr Theme: Integrieren Sie das Envato WordPress Toolkit-Plugin

王林
王林Original
2023-09-04 12:13:011224Durchsuche

增强您的主题:集成 Envato WordPress 工具包插件

Als WordPress-Autoren bei ThemeForest möchten wir unsere Kunden zufrieden stellen, indem wir sie gelegentlich mit Fehlerbehebungen und Theme-Verbesserungen versorgen. Ein zentrales Problem für uns war jedoch, wie wir unsere Benutzer benachrichtigen können, wenn ein Update zum Download verfügbar ist.

In der Vergangenheit musste jeder von uns seine eigene Theme-Update-Notifier-Implementierung programmieren. Während es jetzt im Envato Marketplace ein Kontrollkästchen zum Aktivieren von Projektaktualisierungsbenachrichtigungen gibt, müssen Benutzer es immer noch für jedes Projekt aktivieren und Theme-Aktualisierungen manuell durchführen.

Wäre es nicht besser, wenn Update-Benachrichtigungen im WordPress Admin Center angezeigt würden? Und kann das Update sofort im Admin durchgeführt werden? Glücklicherweise haben wir jetzt das Envato WordPress Toolkit-Plugin und die Toolkit-Bibliothek.

In dieser Serie erfahren Sie, wie Sie diese Toolkits in Ihr Theme integrieren.


Was wir in dieser Serie behandeln werden

In diesem Tutorial implementieren wir das Envato WordPress Toolkit-Plugin und die Bibliothek in unser Theme. Wenn unser Theme aktiviert ist, werden Benutzer aufgefordert, das Toolkit-Plugin zu installieren und zu aktivieren.

Sobald das Plugin aktiv ist, sucht unser Theme regelmäßig nach Updates und wenn ein Update gefunden wird, wird im Admin eine Benachrichtigung angezeigt, die den Benutzer zum Plugin weiterleitet, um das Theme zu aktualisieren.

Dieses Tutorial ist in zwei Teile unterteilt:

  • Teil 1 – Integration der TGM-Plugin-Aktivierungsklasse, sodass für die Verwendung unseres Themes das Envato WordPress Toolkit-Plugin erforderlich ist und
  • Teil 2 – Implementierung der Envato WordPress Toolkit-Bibliothek in unserem Theme, um die Überprüfung und Aktualisierung neuer Theme-Versionen zu ermöglichen.

Plugins und Bibliotheken?

Das Envato WordPress-Toolkit gibt es in zwei Varianten mit unterschiedlichen Verwendungszwecken und Zwecken. Um eine Verwechslung zu vermeiden, hier ein Vergleich:

  • Toolkit-Plugin – Dies ist ein eigenständiges Plugin, das jeder Envato-Kunde auf seiner WordPress-Website installieren kann. Nach der Aktivierung können alle zuvor gekauften Themes sowie Theme-Updates direkt vom Administrator heruntergeladen werden.
  • Toolkit-Bibliothek – Autoren können Code in ihre WordPress-Themes einfügen, der es dem Theme ermöglicht, nach Theme-Versionsaktualisierungen zu suchen und sich mithilfe der Envato Marketplace-API selbst zu aktualisieren.

1.Fügen Sie die erforderlichen Dokumente bei

Wir müssen zunächst einige Dateien in das Projekt einbinden. Wir bündeln das Toolkit-Plugin mit unserem Theme und verwenden die TGM-Plugin-Aktivierung, um das Toolkit zu installieren und zu aktivieren.

  1. Laden Sie das TGM-Plugin herunter, um es zu aktivieren, und legen Sie das Hauptklassenskript im Ordner inc im Theme ab. Der Pfad sollte sein: mytheme/inc/class-tgm-plugin-activation.php
  2. Als nächstes laden Sie die ZIP-Datei des Envato WordPress Toolkit-Plugins herunter und legen Sie sie in einem neuen Ordner namens „Plugins“ in Ihrem Theme ab. Der Pfad sollte sein: mytheme/plugins/envato-wordpress-toolkit-master.zip

Hinweis: Sie können den Speicherort der oben genannten Dateien entsprechend Ihren Anforderungen ändern. Alternativ können Sie den vollständigen Quellcode über den Download-Link oben in diesem Artikel herunterladen.


2.TGM-Hook-Funktion

Da wir nun die erforderlichen Dateien haben, beginnen wir mit dem Codieren. Wir müssen die TGM-Plugin-Aktivierungsklasse in functions.php einbinden und in die benutzerdefinierte WordPress-Aktion einbinden. Hier richten wir einige Einstellungen für das TGM ein und definieren die einzubindenden Plugins.

/**
 * Load the TGM Plugin Activator class to notify the user
 * to install the Envato WordPress Toolkit Plugin
 */
require_once( get_template_directory() . '/inc/class-tgm-plugin-activation.php' );
function tgmpa_register_toolkit() {

	// Code here

}
add_action( 'tgmpa_register', 'tgmpa_register_toolkit' );

3.Toolkit-Plug-in angeben

Als nächstes konfigurieren wir die erforderlichen Parameter, um das Toolkit-Plug-in einzubinden. Fügen Sie innerhalb der Funktion tgmpa_register_toolkit den folgenden Code hinzu. Wenn Sie in Schritt 1 einen anderen Plugin-Ordner angegeben haben, ändern Sie den Pfad im Quellparameter.

// Specify the Envato Toolkit plugin
$plugins = array(
	array(
		'name' => 'Envato WordPress Toolkit',
		'slug' => 'envato-wordpress-toolkit-master',
		'source' => get_template_directory() . '/plugins/envato-wordpress-toolkit-master.zip',
		'required' => true,
		'version' => '1.5',
		'force_activation' => true,
		'force_deactivation' => false,
		'external_url' => '',
	),
);

Sie können auch andere Plugins hinzufügen, indem Sie der Variablen $plugins weitere Arrays hinzufügen.


4.TGM konfigurieren

Stellen Sie dann die TGM-Optionen ein. Fügen Sie außerdem in der tgmpa_register_toolkit-Funktion den folgenden Code unter dem vorherigen Schritt hinzu, um das TGM zu konfigurieren. Ich werde nicht näher darauf eingehen, was die einzelnen Einstellungen bewirken. Wenn Sie mehr über diese Einstellungen erfahren möchten, finden Sie auf der TGM-Plugin-Aktivierungswebsite ausführliche Erläuterungen zu allen Einzelheiten.

// i18n text domain used for translation purposes
$theme_text_domain = 'default';

// Configuration of TGM
$config = array(
	'domain'       	   => $theme_text_domain,
	'default_path' 	   => '',
	'parent_menu_slug' => 'admin.php',
	'parent_url_slug'  => 'admin.php',
	'menu'         	   => 'install-required-plugins',
	'has_notices'      => true,
	'is_automatic'     => true,
	'message' 		   => '',
	'strings'      	   => array(
		'page_title'                      => __( 'Install Required Plugins', $theme_text_domain ),
		'menu_title'                      => __( 'Install Plugins', $theme_text_domain ),
		'installing'                      => __( 'Installing Plugin: %s', $theme_text_domain ),
		'oops'                            => __( 'Something went wrong with the plugin API.', $theme_text_domain ),
		'notice_can_install_required'     => _n_noop( 'This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.' ),
		'notice_can_install_recommended'  => _n_noop( 'This theme recommends the following plugin: %1$s.', 'This theme recommends the following plugins: %1$s.' ),
		'notice_cannot_install'  		  => _n_noop( 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.' ),
		'notice_can_activate_required'    => _n_noop( 'The following required plugin is currently inactive: %1$s.', 'The following required plugins are currently inactive: %1$s.' ),
		'notice_can_activate_recommended' => _n_noop( 'The following recommended plugin is currently inactive: %1$s.', 'The following recommended plugins are currently inactive: %1$s.' ),
		'notice_cannot_activate' 		  => _n_noop( 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.' ),
		'notice_ask_to_update' 			  => _n_noop( 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.' ),
		'notice_cannot_update' 			  => _n_noop( 'Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.' ),
		'install_link' 					  => _n_noop( 'Begin installing plugin', 'Begin installing plugins' ),
		'activate_link' 				  => _n_noop( 'Activate installed plugin', 'Activate installed plugins' ),
		'return'                          => __( 'Return to Required Plugins Installer', $theme_text_domain ),
		'plugin_activated'                => __( 'Plugin activated successfully.', $theme_text_domain ),
		'complete' 						  => __( 'All plugins installed and activated successfully. %s', $theme_text_domain ),
		'nag_type'						  => 'updated'
	)
);

wird $theme_text_domain 变量更改为您正在使用的文本域,或将其保留为 default.


5.Starten Sie TGM

Lassen Sie uns abschließend das TGM initialisieren, bevor die tgmpa_register_toolkit-Funktion endet.

tgmpa( $plugins, $config );

Speichern Sie jetzt Ihre functions.php


Probieren Sie es aus

Versuchen Sie, Ihr Theme zu aktivieren. Wenn Sie das Envato WordPress Toolkit-Plugin nicht installiert oder aktiviert haben, sollte eine Benachrichtigung ähnlich dieser angezeigt werden:

增强您的主题:集成 Envato WordPress 工具包插件


Fazit

Soweit wir jetzt wissen, können wir die Serie tatsächlich stoppen und Ihre Benutzer können Themen aus dem Admin-Bereich heraus aktualisieren. Benutzer werden jedoch nur Aktualisierungen im Toolkit-Administrationsbereich sehen.

Teil 2 dieses Tutorials zeigt Ihnen, wie Sie die Envato WordPress Toolkit-Bibliothek integrieren und Administratorbenachrichtigungen anzeigen, wenn Theme-Updates in ThemeForest stattfinden.

Das obige ist der detaillierte Inhalt vonVerbessern Sie Ihr Theme: Integrieren Sie das Envato WordPress Toolkit-Plugin. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn