Maison Tutoriel CMS WordPresse Comment épingler des pages d'archives telles que des catégories et des balises WordPress en haut

Comment épingler des pages d'archives telles que des catégories et des balises WordPress en haut

Dec 28, 2019 am 09:52 AM
wordpress

Comment épingler des pages d'archives telles que des catégories et des balises WordPress en haut

Comment épingler des pages d'archives telles que des catégories et des balises WordPress en haut ?

L'exemple de cet article décrit comment atteindre le haut des pages d'archives telles que les catégories et les balises WordPress. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

Recommandation : "tutoriel wordpress"

Dans wordpress, par défaut, seule la page d'accueil peut être utilisée pour épingler les articles en haut. Si nous voulons classer / Les balises et autres pages d'archives peuvent également épingler les articles en haut.

Référez-vous maintenant au code de la page d'accueil épinglée en haut dans wp. -includes/query.php. Avec une légère modification, vous pouvez créer la page de catégorie, la page de balise et la page d'auteur. Les pages d'archives telles que les pages de date peuvent également afficher les articles épinglés dans leur portée en haut, comme la page d'accueil. code suivant dans function.php sous le thème actuel.

Le code est le suivant :

add_filter('the_posts', 'putStickyOnTop' ); 
function putStickyOnTop( $posts ) { 
if(is_home() || !is_main_query() || !is_archive()) 
return $posts; 
global $wp_query; 
$sticky_posts = get_option('sticky_posts'); 
if ( $wp_query->query_vars[&#39;paged&#39;] <= 1 && is_array($sticky_posts) && !emptyempty($sticky_posts) && !get_query_var(&#39;ignore_sticky_posts&#39;) ) { $stickies1 = get_posts( array( &#39;post__in&#39; => $sticky_posts ) ); 
foreach ( $stickies1 as $sticky_post1 ) { 
// 判断当前是否分类页 
if($wp_query->is_category == 1 && !has_category($wp_query->query_vars[&#39;cat&#39;], $sticky_post1->ID)) { 
// 去除不属于本分类的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
if($wp_query->is_tag == 1 && has_tag($wp_query->query_vars[&#39;tag&#39;], $sticky_post1->ID)) { 
// 去除不属于本标签的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
if($wp_query->is_year == 1 && date_i18n(&#39;Y&#39;, strtotime($sticky_post1->post_date))!=$wp_query->query[&#39;m&#39;]) { 
// 去除不属于本年份的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
if($wp_query->is_month == 1 && date_i18n(&#39;Ym&#39;, strtotime($sticky_post1->post_date))!=$wp_query->query[&#39;m&#39;]) { 
// 去除不属于本月份的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
if($wp_query->is_day == 1 && date_i18n(&#39;Ymd&#39;, strtotime($sticky_post1->post_date))!=$wp_query->query[&#39;m&#39;]) { 
// 去除不属于本日期的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
if($wp_query->is_author == 1 && $sticky_post1->post_author != $wp_query->query_vars[&#39;author&#39;]) { 
// 去除不属于本作者的文章 
$offset1 = array_search($sticky_post1->ID, $sticky_posts); 
unset( $sticky_posts[$offset1] ); 
} 
} 
$num_posts = count($posts); 
$sticky_offset = 0; 
// Loop over posts and relocate stickies to the front. 
for ( $i = 0; $i < $num_posts; $i++ ) { 
if ( in_array($posts[$i]->ID, $sticky_posts) ) { 
$sticky_post = $posts[$i]; 
// Remove sticky from current position 
array_splice($posts, $i, 1); 
// Move to front, after other stickies 
array_splice($posts, $sticky_offset, 0, array($sticky_post)); 
// Increment the sticky offset. The next sticky will be placed at this offset. 
$sticky_offset++; 
// Remove post from sticky posts array 
$offset = array_search($sticky_post->ID, $sticky_posts); 
unset( $sticky_posts[$offset] ); 
} 
} 
// If any posts have been excluded specifically, Ignore those that are sticky. 
if ( !emptyempty($sticky_posts) && !emptyempty($wp_query->query_vars[&#39;post__not_in&#39;] ) ) 
$sticky_posts = array_diff($sticky_posts, $wp_query->query_vars[&#39;post__not_in&#39;]); 
// Fetch sticky posts that weren&#39;t in the query results 
if ( !emptyempty($sticky_posts) ) { 
$stickies = get_posts( array( 
&#39;post__in&#39; => $sticky_posts, 
&#39;post_type&#39; => $wp_query->query_vars[&#39;post_type&#39;], 
&#39;post_status&#39; => &#39;publish&#39;, 
&#39;nopaging&#39; => true 
) ); 
foreach ( $stickies as $sticky_post ) { 
array_splice( $posts, $sticky_offset, 0, array( $sticky_post ) ); 
$sticky_offset++; 
} 
} 
} 
return $posts; 
}
Copier après la connexion

Description du code :

1 Si vous souhaitez que tous les articles épinglés soient affichés. sur la page d'archive, puis supprimez les lignes 11 à 43 du code ;

2. Si vous ne souhaitez pas afficher les articles épinglés sur une certaine page de catégorie, modifiez le code

sur ligne 3 comme suit :

if( 
//改成: 
// abc是分类名称 
if ( is_category( &#39;abc&#39; ) ||
Copier après la connexion

3. Si vous ne souhaitez pas qu'une certaine page à onglet affiche des articles épinglés, modifiez le code sur la ligne 3

Le code est le suivant :

if( 
//改成: 
// abc是标签名称 
if ( is_tag( &#39;abc&#39; ) ||
Copier après la connexion

4. Si vous ne souhaitez pas que la page d'un auteur affiche les articles épinglés, modifiez le code

à la ligne 3 comme suit :

if( 
//改成: 
// abc是作者昵称 
if ( is_author( &#39;abc&#39; ) ||
Copier après la connexion

5 Le code ci-dessus est uniquement pour The. la boucle principale est valide. Si vous utilisez WP_Query ou query_posts sur la page d'archive pour obtenir la liste des articles, et si vous souhaitez afficher les articles épinglés en haut de ces listes, vous pouvez supprimer le code suivant dans la troisième ligne de code (note). : cela peut faire en sorte que le nombre d'articles affichés soit inférieur à Vos paramètres sont différents) :

Le code est le suivant :

Le code est le suivant :

|| !is_main_query()
Copier après la connexion

Style collé : si vous souhaitez ajouter du style à l'article épinglé, ajoutez le code suivant aux fonctions .php, une classe nommée sticky sera ajoutée à l'article du haut et le code CSS spécifique peut être personnalisé par vous-même :

Le code est le suivant :

add_filter(&#39;post_class&#39;, &#39;addStickyClass&#39; ,10,3 ); 
function addStickyClass( $classes, $class, $post_id ){ 
if( is_sticky() && is_category() && !isset( $classes[&#39;sticky&#39;] ) ){ 
$classes[] = &#39;sticky&#39;; 
} 
return $classes; 
}
Copier après la connexion

J'espère que cet article sera utile à tout le mondeLa création de sites Web WordPress aide.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Comment ajuster la liste d'articles WordPress Comment ajuster la liste d'articles WordPress Apr 20, 2025 am 10:48 AM

Il existe quatre façons d'ajuster la liste des articles WordPress: utilisez des options de thème, utilisez des plugins (tels que l'ordre des types de publication, la liste des publiques WP, des trucs boxy), utilisez du code (ajoutez des paramètres dans le fichier functions.php), ou modifiez directement la base de données WordPress.

Comment ajouter des commentaires à WordPress Comment ajouter des commentaires à WordPress Apr 20, 2025 am 11:42 AM

Les étapes pour ajouter un commentaire dans WordPress sont les suivantes: Activer les commentaires: Vérifiez "Autoriser les commentaires" pour activer les commentaires pour un article spécifique ou tous les articles. Définir les options de commentaire: personnaliser l'approbation des commentaires, la pagination, les commentaires imbriqués et autres paramètres. Ajoutez le formulaire de commentaire: utilisez le code fourni pour ajouter le formulaire de commentaire à l'emplacement souhaité. Afficher les commentaires: utilisez le code fourni pour afficher les commentaires soumis. Répondre aux commentaires: Répondre à un seul commentaire via le lien de réponse, ou répondez à plusieurs commentaires à l'aide d'une opération par lots. Gérer les commentaires: afficher, supprimer, approuver et étiqueter les commentaires dans l'onglet Commentaires.

Plug-in Enregistrement du produit recommandé pour WordPress facile à utiliser Plug-in Enregistrement du produit recommandé pour WordPress facile à utiliser Apr 20, 2025 am 08:15 AM

Il n'y a pas de plugin d'enregistrement de produit WordPress parfait, le choix doit être basé sur les besoins réels et la taille du site Web. Les plug-ins recommandés incluent: MemberPress: Configuration complexe puissante mais à prix élevé, restreindre le contenu Pro: Focus sur les restrictions de contenu et la gestion des membres, les téléchargements numériques faciles à efficacité: vendre des produits numériques et les utilisateurs s'inscrivent en fonctions supplémentaires

Connexion du compte du site Web WordPress Connexion du compte du site Web WordPress Apr 20, 2025 am 09:06 AM

Pour vous connecter à un compte de site Web WordPress: Visitez la page de connexion: entrez l'URL du site Web plus "/wp-login.php". Entrez votre nom d'utilisateur et votre mot de passe. Cliquez sur "Connexion". Vérification Vérification en deux étapes (facultative). Après avoir réussi à vous connecter, vous verrez le tableau de bord du site Web.

Comment annuler la date d'édition de WordPress Comment annuler la date d'édition de WordPress Apr 20, 2025 am 10:54 AM

Les dates d'édition WordPress peuvent être annulées de trois manières: 1. Installez le plug-in Disable Activer la date de post; 2. Ajouter du code dans le fichier functions.php; 3. Modifiez manuellement la colonne post_modified dans la table WP_Posts.

Comment faire votre propre thème par WordPress Comment faire votre propre thème par WordPress Apr 20, 2025 am 11:18 AM

Vous pouvez utiliser l'éditeur de thème WordPress ou rechercher une aide tiers, comme un thème prédéfini, un générateur de thème ou embaucher un développeur pour créer ou personnaliser votre propre thème WordPress. En comprenant les bases des sujets, en utilisant des sous-thèmes, en testant les changements et en optimisant les performances, vous pouvez créer une présence en ligne unique et efficace.

Que faire s'il y a une erreur dans WordPress Que faire s'il y a une erreur dans WordPress Apr 20, 2025 am 11:57 AM

Guide de résolution d'erreur WordPress: 500 Erreur du serveur interne: désactivez le plug-in ou vérifiez le journal d'erreur du serveur. 404 Page introuvable: Vérifiez le permalien et assurez-vous que le lien de la page est correct. Écran blanc de la mort: augmentez la limite de mémoire PHP du serveur. Erreur de connexion de la base de données: vérifiez l'état du serveur de base de données et la configuration WordPress. Autres conseils: activer le mode de débogage, vérifier les journaux d'erreur et rechercher le support. Empêcher les erreurs: mettre à jour régulièrement WordPress, installer uniquement les plugins nécessaires, sauvegarder régulièrement votre site Web et optimiser les performances du site Web.

Comment copier le code WordPress Comment copier le code WordPress Apr 20, 2025 pm 12:00 PM

Comment copier WordPress Code? Copier à partir de l'interface d'administration: connectez-vous au site Web WordPress, accédez à la destination, sélectionnez le code et appuyez sur Ctrl C (Windows) / Commande C (Mac) pour copier le code. Copiez à partir d'un fichier: connectez-vous au serveur à l'aide de SSH ou FTP, accédez au fichier thème ou plug-in, sélectionnez le code et appuyez sur Ctrl C (Windows) / Commande C (Mac) pour copier le code.

See all articles