Comment créer un menu de navigation thématique dans WordPress (2)
Je vous ai présenté "Comment créer un menu de navigation thématique dans WordPress (1)". Cet article continuera à vous présenter comment créer un menu de navigation thématique dans WordPress. J'espère qu'il vous sera utile !
Le tutoriel précédent expliquait comment utiliser les fonctions intégrées de WordPress pour créer un menu de navigation, mais les codes HTML générés par ces fonctions sont fixes, et il vous est difficile de définir le code HTML du menu de navigation. Cet article vous présentera quelques façons plus libres de créer des menus de navigation qui peuvent être utilisés pour plus que de simples menus de navigation. Bien entendu, cet article ne vous donne qu’une idée pour résoudre le problème. Ce n’est pas un tutoriel comme une recette. Une fois que vous l’avez lu et copié, vous pouvez l’utiliser dans votre projet.
1. Utilisez get_terms() pour obtenir la liste des catégories
Utilisez get_terms() pour obtenir vos catégories d'articles, catégories de liens, catégories personnalisées, etc. Passer les paramètres correspondants à get_terms() peut vous renvoyer un objet array. Ce tableau contient toutes les catégories que vous souhaitez. Voici le prototype de fonction de get_terms() :
<?php get_terms( $taxonomies, $args ) ?>
$taxonomies :
Ce paramètre est la catégorie de classification que vous souhaitez obtenir. "category", "link_category", "my_taxonomy", ils représentent respectivement la catégorie d'article, la catégorie de lien et votre catégorie personnalisée, où my_taxonomy est le nom de votre catégorie personnalisée.
$args :
Ce paramètre est le paramètre de filtrage de la catégorie. Il est utilisé pour contrôler l'acquisition de la catégorie que vous souhaitez obtenir, y compris le nombre de catégories que vous souhaitez obtenir, la manière de trier, la catégorie parent et. s'il faut afficher des catégories vides, etc. Pour plus de détails, veuillez vous référer à la documentation officielle de WordPress : Référence de fonction/obtenir les termes, ou reportez-vous à la brève traduction en chinois : Fonctions-get_terms() couramment utilisées()
Ce qui suit est un exemple d'utilisation de cette fonction, où un
- ....
<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>
La fonction get_terms() renvoie un tableau d'objets $terms, On détermine d'abord si le tableau est vide. S'il est vide, cela signifie qu'aucune classification n'a été obtenue. Si ce n'est pas le cas. vide, vous pouvez alors afficher la classification. Chaque élément du tableau de $terms est un objet. Les significations de certains attributs d'objet sont : slug : abréviation de la catégorie, name : nom de la catégorie, term_id : identifiant de la catégorie. Comme indiqué dans le code ci-dessus, vous pouvez obtenir la valeur d'attribut de l'objet via $term->name.
2. Utilisez la méthode de lecture de la base de données pour obtenir la liste de classification
Si vous connaissez la base de données WordPress, vous pouvez constater que les informations de classification WordPress sont stockées dans les deux tables wp_terms et wp_term_taxonomy. classification des articles, balises d'articles et catégories de liens, etc.), wp_term_taxonomy est utilisé pour stocker des descriptions supplémentaires (utilisé pour stocker des descriptions, distinguer des catégories et des balises, etc.). Nous pouvons utiliser SQL pour obtenir la liste des catégories que nous voulons à partir de ces deux tables :
<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. Comment obtenir l'identifiant de la catégorie actuelle
Parfois, nous devons faire une sous-navigation, comme http://www.nashowgroup.com/?p=58&lang=zhLa navigation des ressources humaines sur la gauche. Cette navigation peut être n'importe quel élément, tel que des sous-catégories dans la catégorie actuelle ou des articles dans la catégorie actuelle, etc. La première question est donc de savoir comment obtenir l’identifiant de la catégorie actuelle afin que nous puissions passer à l’étape suivante.
Récupérez l'identifiant de la catégorie actuelle sur la page de la catégorie :
if ( is_category() ) { $cat_id = get_query_var('cat'); }
Récupérez la première catégorie de l'article sur la page de l'article :
$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规则你可以自己定义。
五、页面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 '<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教程》
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Si vous êtes un développeur PHP expérimenté, vous aurez peut-être le sentiment d'y être déjà allé et de l'avoir déjà fait. Vous avez développé un nombre important d'applications, débogué des millions de lignes de code et peaufiné de nombreux scripts pour réaliser des opérations.

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

JWT est une norme ouverte basée sur JSON, utilisée pour transmettre en toute sécurité des informations entre les parties, principalement pour l'authentification de l'identité et l'échange d'informations. 1. JWT se compose de trois parties: en-tête, charge utile et signature. 2. Le principe de travail de JWT comprend trois étapes: la génération de JWT, la vérification de la charge utile JWT et l'analyse. 3. Lorsque vous utilisez JWT pour l'authentification en PHP, JWT peut être généré et vérifié, et les informations sur le rôle et l'autorisation des utilisateurs peuvent être incluses dans l'utilisation avancée. 4. Les erreurs courantes incluent une défaillance de vérification de signature, l'expiration des jetons et la charge utile surdimensionnée. Les compétences de débogage incluent l'utilisation des outils de débogage et de l'exploitation forestière. 5. L'optimisation des performances et les meilleures pratiques incluent l'utilisation des algorithmes de signature appropriés, la définition des périodes de validité raisonnablement,

Une chaîne est une séquence de caractères, y compris des lettres, des nombres et des symboles. Ce tutoriel apprendra à calculer le nombre de voyelles dans une chaîne donnée en PHP en utilisant différentes méthodes. Les voyelles en anglais sont a, e, i, o, u, et elles peuvent être en majuscules ou en minuscules. Qu'est-ce qu'une voyelle? Les voyelles sont des caractères alphabétiques qui représentent une prononciation spécifique. Il y a cinq voyelles en anglais, y compris les majuscules et les minuscules: a, e, i, o, u Exemple 1 Entrée: String = "TutorialSpoint" Sortie: 6 expliquer Les voyelles dans la chaîne "TutorialSpoint" sont u, o, i, a, o, i. Il y a 6 yuans au total

Liaison statique (statique: :) implémente la liaison statique tardive (LSB) dans PHP, permettant à des classes d'appel d'être référencées dans des contextes statiques plutôt que de définir des classes. 1) Le processus d'analyse est effectué au moment de l'exécution, 2) Recherchez la classe d'appel dans la relation de succession, 3) il peut apporter des frais généraux de performance.

L'accès au fichier du site WordPress est restreint: dépannage de la raison pour laquelle le fichier .txt ne peut pas être accessible récemment. Certains utilisateurs ont rencontré un problème lors de la configuration du nom de domaine commercial du programme MINI: � ...
