Heim >CMS-Tutorial >WordDrücken Sie >So 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.
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.
<?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.
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 b0e0ab6d1ef50512dbb1aa552d0ba1bd..bed06894275b65c1ab86501b08a632eb..929d1f5ca49e04fdcb27f9465b944689 natürlich in Form einer ungeordneten Liste Man kann es sich als Menü vorstellen:
<ul id="menu"> <?php // 获取分类 $terms = get_terms('category', 'orderby=name&hide_empty=0' ); // 获取到的分类数量 $count = count($terms); if($count > 0){ // 循环输出所有分类信息 foreach ($terms as $term) { echo '<li><a href="'.get_term_link($term, $term->slug).'" title="'.$term->name.'">'.$term->name.'</a></li>'; } } ?> </ul>
<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 = 'category'"); if($cats) { foreach($cats as $cat) { echo '<li><a href="'.get_category_link($cat->term_id).'" title="'.$cat->name.'">'.$cat->name.'</a></li>'; } } ?> </ul>3. So erhalten Sie die ID der aktuellen Kategorie
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('cat'); }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('orderby=name&hide_empty=0&child_of=' . $cat_id); ?> </ul>
如果你的网站规模比较小,一个分类下的文章也不多,那么你可以在子导航中列出这个分类下的所有文章:
<ul> <?php global $wp_query; $query = array ( 'cat' => $cat_id, 'orderby' => title, 'order'=> 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 'class="chose"'; ?> href="<?php the_permalink() ?>"><?php the_title(); ?></a></li> <?php endwhile; wp_reset_postdata(); endif; ?> </ul>
以上代码中用到了WP_Query来获取文章列表,该对象的使用方法,可以参考WordPress的官方文档:Class Reference/WP Query和Function Reference/query posts。class="chose"用于高亮当前文章的菜单项,css规则你可以自己定义。
WordPress的页面page可以通过wp_list_pages()来列出,不过这个函数输出的HTML都是固定的,如果你想要自定义这些HTML,可以使用get_pages()来获取页面列表,代码示例如下:
<ul id="menu"> $mypages = get_pages(); if(count($mypages) > 0) { foreach($mypages as $page) { echo '<li><a href="'.get_page_link($page->ID).'" title="'.$page->post_title.'">'.$page->post_title.'</a></li>'; } } else { echo '<li><a href="#">没有页面</a></li>'; } </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!