suchen
HeimCMS-TutorialWordDrücken SieSo erstellen Sie ein Theme-Navigationsmenü in WordPress (2)

Ich habe Ihnen „So erstellen Sie ein Theme-Navigationsmenü in WordPress (1)“ vorgestellt. In diesem Artikel erfahren Sie, wie Sie ein Theme-Navigationsmenü in WordPress erstellen.

So erstellen Sie ein Theme-Navigationsmenü in WordPress (2)

Im vorherigen Tutorial ging es um die Verwendung der integrierten Funktionen von WordPress zum Erstellen eines Navigationsmenüs. Die von diesen Funktionen generierten HTML-Codes sind jedoch festgelegt und es ist für Sie schwierig, den HTML-Code zu definieren Navigationsmenü. In diesem Artikel stellen wir Ihnen einige freiere Möglichkeiten zum Erstellen von Navigationsmenüs vor, die nicht nur für Navigationsmenüs verwendet werden können. Natürlich liefert Ihnen dieser Artikel nur eine Idee zur Lösung des Problems. Es handelt sich nicht um ein Tutorial wie ein Rezept. Sobald Sie es gelesen und kopiert haben, können Sie es in Ihrem Projekt verwenden.

1. Verwenden Sie get_terms(), um die Kategorieliste abzurufen.

Verwenden Sie get_terms(), um Ihre Artikelkategorien, Linkkategorien, benutzerdefinierten Kategorien usw. abzurufen. Durch Übergabe der entsprechenden Parameter an get_terms() können Sie ein Objekt zurückgeben Array. Dieses Array enthält alle gewünschten Kategorien. Das Folgende ist der Funktionsprototyp von get_terms():

<?php get_terms( $taxonomies, $args ) ?>
$taxonomies:

Dieser Parameter ist die Klassifizierungskategorie, die Sie erhalten möchten. „Kategorie“, „Linkkategorie“, „Meine_Taxonomie“ repräsentieren die Artikelkategorie, die Linkkategorie bzw. Ihre benutzerdefinierte Kategorie, wobei Meine_Taxonomie der Name Ihrer benutzerdefinierten Kategorie ist.

$args:

Dieser Parameter ist der Filterparameter der Kategorie. Er wird verwendet, um die Erfassung der Kategorie zu steuern, die Sie erhalten möchten, einschließlich der Anzahl der Kategorien, die Sie erhalten möchten, der Art der Sortierung und der übergeordneten Kategorie. und ob leere Kategorien usw. ausgegeben werden sollen. Weitere Informationen finden Sie in der offiziellen WordPress-Dokumentation: Funktionsreferenz/Begriffe abrufen
oder in der kurzen Übersetzung auf Chinesisch: Häufig verwendete Funktionen-get_terms() Folgendes ist ein Beispiel für die Verwendung dieser Funktion, bei der ein

    ....
natürlich in Form einer ungeordneten Liste Man kann es sich als Menü vorstellen:

<ul id="menu">		
<?php
	// 获取分类
	$terms = get_terms(&#39;category&#39;, &#39;orderby=name&hide_empty=0&#39; );

	// 获取到的分类数量
	$count = count($terms);
	if($count > 0){
		// 循环输出所有分类信息
		foreach ($terms as $term) {
			echo &#39;<li><a href="&#39;.get_term_link($term, $term->slug).&#39;" title="&#39;.$term->name.&#39;">&#39;.$term->name.&#39;</a></li>&#39;;
		}
 	}
?>		
</ul>

Die Funktion get_terms() gibt ein Objektarray $terms zurück. Wir ermitteln zunächst, ob das Array leer ist, was bedeutet, dass keine Klassifizierung erhalten wurde nicht leer ist, können Sie die Klassifizierung ausgeben. Jedes Array-Element von $terms ist ein Objekt. Die Bedeutung einiger Objektattribute ist: Slug: Kategorieabkürzung, Name: Kategoriename, term_id: Kategorie-ID. Wie im obigen Code gezeigt, können Sie den Attributwert des Objekts über $term->name abrufen.

2. Verwenden Sie die Methode zum Lesen der Datenbank, um die Klassifizierungsliste zu erhalten.

Wenn Sie die WordPress-Datenbank kennen, können Sie feststellen, dass die WordPress-Klassifizierungsinformationen in den beiden Tabellen wp_terms und wp_term_taxonomy gespeichert sind Artikelklassifizierung, Artikel-Tags und Link-Kategorien usw.), wp_term_taxonomy wird zum Speichern weiterer Beschreibungen verwendet (zum Speichern von Beschreibungen, zum Unterscheiden von Kategorien und Tags usw.). Wir können SQL verwenden, um die Liste der gewünschten Kategorien aus diesen beiden Tabellen abzurufen:

<ul id="menu">		
<?php 
	$cats = $wpdb->get_results("SELECT {$wpdb->prefix}terms.term_id, name
							FROM {$wpdb->prefix}term_taxonomy, {$wpdb->prefix}terms
							WHERE {$wpdb->prefix}term_taxonomy.term_id = {$wpdb->prefix}terms.term_id
							AND taxonomy = &#39;category&#39;");
							
	if($cats) {
		foreach($cats as $cat) {
			echo &#39;<li><a href="&#39;.get_category_link($cat->term_id).&#39;" title="&#39;.$cat->name.&#39;">&#39;.$cat->name.&#39;</a></li>&#39;;
		}
 	}
?>		
</ul>

3. So erhalten Sie die ID der aktuellen Kategorie

Manchmal müssen wir eine Unternavigation erstellen, z. B.

http://www.nashowgroup.com/?p=58&lang=zh

Die Personalnavigation auf der linken Seite kann ein beliebiges Element sein, z. B. Unterkategorien unter der aktuellen Kategorie oder Artikel unter der aktuellen Kategorie usw. Die erste Frage ist also, wie wir die ID der aktuellen Kategorie erhalten, damit wir den nächsten Schritt machen können.

Holen Sie sich die ID der aktuellen Kategorie auf der Kategorieseite:

if ( is_category() ) {
	$cat_id = get_query_var(&#39;cat&#39;);
}

Holen Sie sich die erste Kategorie des Artikels auf der Artikelseite:

$cats = get_the_category();
if($cats)
    $cat_id = $cats[0]->cat_ID;

四、子导航的制作

     上面我们讲解了如何获取当前分类的id,下面我们来讲讲如何制作子导航。首先,我们来制作一个当前分类下子分类的子导航,这里用到wp_list_categories()来列出子分类,当然你可以用我前面介绍的两种方法来获取分类。:

<ul>
<?php
// 这里我们用到上面获取到的$cat_id,获取该分类下的所有子分类
wp_list_categories(&#39;orderby=name&hide_empty=0&child_of=&#39; . $cat_id);
?> 
</ul>

     如果你的网站规模比较小,一个分类下的文章也不多,那么你可以在子导航中列出这个分类下的所有文章:

<ul>
	<?php
		global $wp_query;

		$query = array ( &#39;cat&#39; => $cat_id, &#39;orderby&#39; => title, &#39;order&#39;=> ASC ); 
		$queryObject = new WP_Query($query); 

		if ($queryObject->have_posts()) :
			while ($queryObject->have_posts()) :
			    $queryObject->the_post();
	?>
	<li><a <?php if($post->ID == $wp_query->post->ID) echo &#39;class="chose"&#39;; ?> href="<?php the_permalink() ?>"><?php the_title(); ?></a></li>
	<?php endwhile; wp_reset_postdata(); endif; ?>
</ul>

     以上代码中用到了WP_Query来获取文章列表,该对象的使用方法,可以参考WordPress的官方文档:Class Reference/WP QueryFunction Reference/query posts。class="chose"用于高亮当前文章的菜单项,css规则你可以自己定义。

五、页面page的获取

     WordPress的页面page可以通过wp_list_pages()来列出,不过这个函数输出的HTML都是固定的,如果你想要自定义这些HTML,可以使用get_pages()来获取页面列表,代码示例如下:

<ul id="menu">
$mypages = get_pages();

if(count($mypages) > 0) {
    foreach($mypages as $page) {
        echo &#39;<li><a href="&#39;.get_page_link($page->ID).&#39;" title="&#39;.$page->post_title.&#39;">&#39;.$page->post_title.&#39;</a></li>&#39;;
    }
}
else {
    echo &#39;<li><a href="#">没有页面</a></li>&#39;;
}
</ul>

-- 完 --

推荐学习:《WordPress教程

Das obige ist der detaillierte Inhalt vonSo erstellen Sie ein Theme-Navigationsmenü in WordPress (2). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:露兜即刻. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Kann ich WordPress in 3 Tagen lernen?Kann ich WordPress in 3 Tagen lernen?Apr 09, 2025 am 12:16 AM

Kann WordPress innerhalb von drei Tagen lernen. 1. Master Basic-Kenntnisse wie Themen, Plug-Ins usw. 2. Verstehen Sie die Kernfunktionen, einschließlich Installations- und Arbeitsprinzipien. 3. Lernen Sie die grundlegende und erweiterte Verwendung anhand von Beispielen. 4. Verstehen Sie Debugging -Techniken und Vorschläge zur Leistungsoptimierung.

Ist WordPress ein CMS?Ist WordPress ein CMS?Apr 08, 2025 am 12:02 AM

WordPress ist ein Content Management System (CMS). Es bietet Content Management, Benutzerverwaltung, Themen und Plug-in-Funktionen, um die Erstellung und Verwaltung von Website-Inhalten zu unterstützen. Das Arbeitsprinzip umfasst Datenbankverwaltung, Vorlagensysteme und Plug-in-Architektur, die für eine Vielzahl von Anforderungen von Blogs bis hin zu Unternehmenswebsites geeignet sind.

Wofür ist die WordPress gut?Wofür ist die WordPress gut?Apr 07, 2025 am 12:06 AM

WordPressIsGoodforenualywebProjectDuetoitsverseSatilityasacms.itexcelsin: 1) Benutzerfreundlichkeit, erlaubt Easywebsitesetup; 2) Flexibilität und Kustomisierung mit

Soll ich Wix oder WordPress verwenden?Soll ich Wix oder WordPress verwenden?Apr 06, 2025 am 12:11 AM

Wix ist für Benutzer geeignet, die keine Programmiererfahrung haben, und WordPress ist für Benutzer geeignet, die mehr Kontroll- und Erweiterungsfunktionen wünschen. 1) Wix bietet Drag-and-Drop-Editoren und reichhaltige Vorlagen und erleichtert es, eine Website schnell zu erstellen. 2) Als Open-Source-CMS verfügt WordPress über eine riesige Community- und Plug-in-Ökosystem, die eine eingehende Anpassung und Erweiterung unterstützt.

Wie viel kostet WordPress?Wie viel kostet WordPress?Apr 05, 2025 am 12:13 AM

WordPress selbst ist kostenlos, kostet jedoch zusätzlich: 1. WordPress.com bietet ein Paket von kostenlos bis bezahlt, wobei die Preise zwischen ein paar Dollar pro Monat bis zu Dutzenden von Dollar reichen. 2. 3. Die meisten Plug-Ins und Themen sind kostenlos, und der bezahlte Preis liegt zwischen Dutzenden und Hunderten von Dollar. Durch die Auswahl des richtigen Hosting-Dienstes, die Verwendung von Plug-Ins und Themen und regelmäßige Aufrechterhaltung und Optimierung können die Kosten von WordPress effektiv gesteuert und optimiert werden.

Ist WordPress noch kostenlos?Ist WordPress noch kostenlos?Apr 04, 2025 am 12:06 AM

Die Kernversion von WordPress ist kostenlos, aber andere Gebühren können während der Verwendung anfallen. 1. Domainnamen und Hosting -Dienste erfordern eine Zahlung. 2. können fortgeschrittene Themen und Plug-Ins aufgeladen werden. 3.. Professionelle Dienstleistungen und fortschrittliche Funktionen können berechnet werden.

Ist WordPress für Anfänger leicht?Ist WordPress für Anfänger leicht?Apr 03, 2025 am 12:02 AM

WordPress ist für Anfänger leicht zu beginnen. 1. Nach dem Anmeldung im Hintergrund ist die Benutzeroberfläche intuitiv und das einfache Dashboard bietet alle erforderlichen Funktionslinks. 2. Grundlegende Vorgänge umfassen das Erstellen und Bearbeiten von Inhalten. Der Wysiwyg -Editor vereinfacht die Erstellung von Inhalten. 3. Anfänger können die Website-Funktionen durch Plug-Ins und Themen erweitern, und die Lernkurve existiert, kann aber durch das Üben gemeistert werden.

Warum sollte jemand WordPress verwenden?Warum sollte jemand WordPress verwenden?Apr 02, 2025 pm 02:57 PM

Die Leute verwenden WordPress wegen ihrer Kraft und Flexibilität. 1) WordPress ist ein Open -Source -CMS mit einer starken Benutzerfreundlichkeit und Skalierbarkeit, die für verschiedene Website -Anforderungen geeignet ist. 2) Es hat reichhaltige Themen und Plugins, ein riesiges Ökosystem und eine starke Unterstützung der Gemeinschaft. 3) Das Arbeitsprinzip von WordPress basiert auf Themen, Plug-Ins und Kernfunktionen und verwendet PHP und MySQL, um Daten zu verarbeiten und die Leistungsoptimierung zu unterstützen.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung