Heim  >  Artikel  >  Backend-Entwicklung  >  Benutzerdefinierte Plugins: Ein umfassender Leitfaden zu WordPress-Taxonomien für Anfänger

Benutzerdefinierte Plugins: Ein umfassender Leitfaden zu WordPress-Taxonomien für Anfänger

WBOY
WBOYOriginal
2023-09-02 19:41:101183Durchsuche

In dieser Serie haben wir uns mit WordPress-Taxonomien befasst: Was sie sind, wie sie funktionieren, wie man die verschiedenen existierenden Typen unterscheidet und wie sie in der zugrunde liegenden Datenbank gespeichert werden. p>

Das Einzige, was wir tun müssen, ist ein Plugin zusammenzustellen, das zeigt, wie wir die API verwenden, um unsere eigenen benutzerdefinierten Taxonomien zu implementieren. In diesem Artikel werden wir genau das tun.

Erinnern Sie sich an den ersten Artikel dieser Serie:

„Klassifizierung“ ist eines dieser Wörter, von denen die meisten Menschen noch nie gehört oder sie verwendet haben. Im Grunde ist eine Taxonomie eine Möglichkeit, Dinge zu gruppieren.

In dieser Serie haben wir Fotografie und Videografie als Klassifizierungsbeispiele verwendet. Daher werden wir für das Plugin, das wir erstellen werden, hierarchische und nicht hierarchische Taxonomien im Zusammenhang mit diesen beiden Klassifizierungen einbeziehen.

Die geschichtete Taxonomie umfasst die grundlegenden Taxonomien von
    Fotos
  1. und Videos. Für die Angabe des verwendeten Filmtyps wird eine nicht hierarchische Klassifizierung verwendet. Dies kann
  2. Schwarzweiß, Farbe, Sepia
  3. oder jede andere Farbe sein, die Sie angeben möchten.
  4. Schließlich funktioniert das Plugin mit den vorhandenen Standard-Beitragstypen, die mit WordPress geliefert werden. Dies sollte die größtmögliche Flexibilität bieten, wenn es um die Erstellung des Plugins, die Demonstration des Konzepts und die Verwendung in Ihrer eigenen Installation geht.

Meine benutzerdefinierte Taxonomie

Für die Zwecke des Beispiel-Plugins nennen wir es „Meine benutzerdefinierte Taxonomie“ und erstellen es in den folgenden Phasen:

Wir bereiten die Kern-Plugin-Datei mit dem richtigen Titeltext vor, der für die Anzeige des Plugins in Ihrem WordPress-Dashboard erforderlich ist.

Wir richten den Code ein, der zum Ausführen des Kern-Plugins erforderlich ist.
  1. Wir werden Code schreiben, um die Kategorien
  2. Fotos
  3. und
  4. Videos
  5. einzuführen. Wir werden Code schreiben, um die Taxonomie der Filmgenres einzuführen.
  6. Dann testen wir das komplette Plugin.
  7. 1. Plug-in-Header
  8. Bevor Sie etwas anderes tun, tun Sie
.

wp-content/plugins 中创建一个名为 my-custom-taxonomies 的目录,并引入一个名为 我的自定义分类法.php

Fügen Sie der Datei den folgenden Code-Kommentarblock hinzu:

<?php
/**
 * My Custom Taxonomies
 *
 * Demonstrates how to create custom taxonomies using the WordPress API.
 * Showcases both hierarchical and non-hierarchical taxonomies.
 *
 * @link              https://code.tutsplus.com/series/the-beginners-guide-to-wordpress-taxonomies--cms-706
 * @since             1.0.0
 * @package           Custom_Taxonomies
 *
 * @wordpress-plugin
 * Plugin Name:       My Custom Taxonomies
 * Plugin URI:        http://example.com/plugin-name-uri/
 * Description:       Demonstrates how to create custom taxonomies using the WordPress API.
 * Version:           1.0.0
 * Author:            Tom McFarlin
 * Author URI:        http://tommcfarlin.com/
 * License:           GPL-2.0+
 * License URI:       http://www.gnu.org/licenses/gpl-2.0.txt
 */
自定义插件:针对初学者的 WordPress 分类法综合指南Zu diesem Zeitpunkt sollten Sie sich bei Ihrem WordPress-Dashboard anmelden, den Namen des Plugins anzeigen und es aktivieren können. Natürlich wird tatsächlich nichts passieren, da wir noch nichts am Quellcode vorgenommen haben.

Als nächstes müssen wir eine weitere Datei erstellen, um das Plugin tatsächlich zu betreiben. Dies basiert auf objektorientierten Programmierprinzipien, daher erstellen wir eine Datei mit dem Namen

.

Machen Sie sich noch keine Gedanken über das Füllen mit Quellcode. Kehren wir zu

zurück und fügen eine Bedingung hinzu, um sicherzustellen, dass die Kern-Plugin-Dateien nicht außerhalb der WordPress-Umgebung ausgeführt werden können. class-my-custom-taxonomies.php

<?php

// If this file is called directly, abort.
if ( ! defined( 'WPINC' ) ) {
    die;
}

Platzieren Sie dies direkt unter dem Codekommentar, den wir oben angegeben haben.

my-custom-taxonomies.php2. Kern-Plugin ausführen

An diesem Punkt sind wir bereit, den Code zu schreiben, der das Plugin tatsächlich steuert. Definieren wir also eine Klasse und eine Grundfunktion für die Initialisierung:

<?php

/**
 * The core plugin class file
 *
 * Defines the functions necessary to register our custom taxonomies with
 * WordPress.
 *
 * @link       http://code.tutsplus.com/series/the-beginners-guide-to-wordpress-taxonomies--cms-706
 * @since      1.0.0
 *
 * @package    Custom_Taxonomies
 * @author     Tom McFarlin <tom@tommcfarlin.com>
 */
class My_Custom_Taxonomies {

    /**
	 * Initializes the plugin by registering the hooks necessary
	 * for creating our custom taxonomies within WordPress.
	 *
	 * @since    1.0.0
	 */
	public function init() {

	}

}

Danach kehren wir zu

zurück und fügen Code hinzu, um die Datei und eine Methode einzubinden, um eine Instanz der Klasse zu erstellen und auszuführen:

<?php

/** Loads the custom taxonomy class file. */
require_once( dirname( __FILE__ ) . '/class-my-custom-taxonomies.php' );

/**
 * Creates an instance of the My_Custom_Taxonomies class
 * and calls its initialization method.
 *
 * @since    1.0.0
 */
function custom_taxonomies_run() {

    $custom_tax = new My_Custom_Taxonomies();
	$custom_tax->init();

}
custom_taxonomies_run();

Jetzt haben wir alles, was wir brauchen, um tatsächlich mit der Einrichtung von Hooks und Callbacks zu beginnen, um unsere benutzerdefinierten Taxonomien zu erstellen.

my-custom-taxonomies.php3. Wir stellen vor: p>Fotos

und

Videos

An diesem Punkt sind wir bereit, mit der Einführung unserer Taxonomie zu beginnen. Wir konzentrieren uns zunächst auf zwei hierarchische Taxonomien –

Fotos

und Videos. Fügen Sie im Klassenkörper der -Datei die folgende Funktion hinzu:

<?php

/**
 * Creates the Photographs taxonomy that appears on all Post dashboard
 * pages.
 *
 * @since    1.0.0
 */
public function init_photographs() {

    $labels = array(
		'name'          => 'Photographs',
		'singular_name' => 'Photograph',
		'edit_item'     => 'Edit Photograph',
		'update_item'   => 'Update Photograph',
		'add_new_item'  => 'Add New Photograph',
		'menu_name'     => 'Photographs'
	);

	$args = array(
		'hierarchical'      => true,
		'labels'            => $labels,
		'show_ui'           => true,
		'show_admin_column' => true,
		'rewrite'           => array( 'slug' => 'photograph' )
	);

	register_taxonomy( 'photograph', 'post', $args );

}

Diese Funktion ist für die Erstellung von

Fotokategorienclass-my-custom-taxonomies.php verantwortlich und wird zu gegebener Zeit von der Init-Funktion aufgerufen.

Jetzt machen wir dasselbe mit dem Video:

<?php

/**
 * Creates the Videos taxonomy that appears on all Post dashboard
 * pages.
 *
 * @since    1.0.0
 */
public function init_videos() {

    $labels = array(
		'name'          => 'Videos',
		'singular_name' => 'Video',
		'edit_item'     => 'Edit Video',
		'update_item'   => 'Update Video',
		'add_new_item'  => 'Add New Video',
		'menu_name'     => 'Videos'
	);

	$args = array(
		'hierarchical'      => false,
		'labels'            => $labels,
		'show_ui'           => true,
		'show_admin_column' => true,
		'rewrite'           => array( 'slug' => 'video' )
	);

	register_taxonomy( 'video', 'post', $args );

}

Rufen wir diese beiden Funktionen in der Init-Funktion auf. Wir tun dies, indem wir diese Funktionen mithilfe des von WordPress bereitgestellten -Hooks registrieren:

<?php

public function init() {

    add_action( 'init', array( $this, 'init_photographs' ) );
    add_action( 'init', array( $this, 'init_videos' ) );

}

Hier sollten wir in der Lage sein, auf

Neuen Beitrag hinzufügeninit zu gehen und die neuen Kategorieoptionen im Dashboard zu sehen. Wenn nicht, überprüfen Sie Ihren Code noch einmal anhand des oben angegebenen Codes.

Da wir nun unsere hierarchische Taxonomie behandelt haben, gehen wir zu unseren

Videotypen自定义插件:针对初学者的 WordPress 分类法综合指南 – oder unserer nicht hierarchischen – Taxonomie über.

4。介绍影片类型

这实际上与我们到目前为止编写的代码没有太大不同。实际上,主要区别在于,我们不是将 hierarchical 指定为 true,而是将其设置为 false

<?php

/**
 * Creates the Film Type taxonomy that appears on all Post dashboard
 * pages.
 *
 * @since    1.0.0
 */
public function init_film_type() {

    $labels = array(
		'name'          => 'Film Type',
		'singular_name' => 'Film Type',
		'edit_item'     => 'Edit Film Type',
		'update_item'   => 'Update Film Type',
		'add_new_item'  => 'Add New Film Type',
		'menu_name'     => 'Film Type'
	);

	$args = array(
		'hierarchical'      => false,
		'labels'            => $labels,
		'show_ui'           => true,
		'show_admin_column' => true,
		'rewrite'           => array( 'slug' => 'film-type' )
	);

	register_taxonomy( 'film-type', 'post', $args );

}

这将导致不同类型的用户界面元素,看起来更像标签,而不是您在上面看到的类别选项。

最后,将以下行与其余钩子一起添加到 init 方法中:

<?php
add_action( 'init', array( $this, 'init_film_type' ) );

请注意,函数更像是分类标签。再次重申,这是分层分类法和非分层分类法的主要区别之一。

5。测试完整插件

现在我们准备好试用该插件了。假设您正确遵循了本教程中的所有内容,那么您应该能够创建新帖子,并使用照片类型或视频类型对其进行标记作为影片的一种类型,并在保存或更新您的帖子后保留更改。

如果没有,请根据此处引用的内容以及关联的 GitHub 存储库中引用的内容仔细检查您的代码。

结论

WordPress 分类法初学者指南到此结束。在整个系列中,我们广泛了解了分类法的定义、它们在 WordPress 中扮演的角色,甚至还实现了一些我们自己的分类法。

此时,您应该对这个概念以及如何将它们包含在您的下一个项目中有深入的了解。

如果没有,请随时在下面的字段中留下问题、评论或一般反馈。

Das obige ist der detaillierte Inhalt vonBenutzerdefinierte Plugins: Ein umfassender Leitfaden zu WordPress-Taxonomien für Anfänger. 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