WP_Query est un outil puissant pour contrôler ce qui sort de votre boucle. Aujourd'hui, je vais vous enseigner à tous comment l'utiliser pour créer un thème de journal à 3 colonnes contenant tous les articles de votre blog principal dans la colonne principale, ainsi qu'un ensemble d'articles de cette catégorie. Nous allons utiliser le 960 framework CSS pour la mise en page de base et la réinitialisation de notre thème, cela nous demandera beaucoup de travail!
Notre plan d’attaque consiste à supprimer tous les postes appartenant à une catégorie partagée, et
placez-les sur le côté séparé des postes principaux. Nous allons aussi regarder une méthode
pour créer un "article en vedette" sans utiliser jQuery ou JavaScript! J'ai également créé un fichier .psd (à l'aide des modèles fournis par 960 lors du téléchargement) de ce que
nous visons à atteindre aujourd'hui. Téléchargez le .psd ici.
Nous supposons que vous avez une installation WordPress en direct, qu’elle soit locale ou hébergée. Si vous avez besoin d’un peu d’aide, commencez par apprendre à installer WordPress localement sous Windows ou OS X..
Très bien. Donc, mis à part le besoin évident d'une installation WordPress, nous allons
avoir besoin de quelques choses supplémentaires aussi. J'ai tout un tas de fichiers que tu vas devoir
avoir dans votre dossier de thème.
Vous avez tout ça? Bien. Vous devriez être prêt pour le reste du tutoriel maintenant! N'oublie pas
activer le thème dans WP-admin (wp-admin / themes.php).
Je ne vais pas vous donner tout le code WordPress pour l'instant. Je vais te donner
tout le code WordPress dont vous avez besoin, à l'exclusion des WP_Query. Ils vont faire un pas en
leur propre, parce qu'ils ont vraiment besoin d'explication! Cela remplirait aussi la page
beaucoup, donc j'ai tout inclus dans un fichier .txt plutôt qu'ici.
Téléchargez-le et copiez-le dans index.php. Ou tapez-le, comme bon vous semble. Dactylographie
vous aide à vous rappeler ce que vous faites!
C'est beaucoup de code à traiter, donc je vais juste arracher les parties intéressantes
pour vous et expliquez-les.
Donc, je parie que vous remarquez toutes ces petites classes 'grid_5' et 'container_12' et
va ce que diable est-ce? Eh bien, laissez-moi vous expliquer. Le nombre suivant 'grid_'
est le nombre de colonnes que nous voulons que select soit. Parce que nous voulons 12 colonnes,
nous enveloppons le tout (en utilisant div # wrapper) avec la classe 'conteneur_12'.
Dans le CSS de base que je vous ai fourni, il contient les importations pour les trois 960 fichiers.,
donc nous avons déjà la moitié d'une mise en page quand nous n'avons pas du tout codé CSS!
Cela n'aura pas l'air trop flashy. Il n'a pas été stylé et il n'a même pas de contenu:
C'est là que toute la magie se produit! On a Trois WP_Querys:
Nous voulons donc une colonne de contenu WordPress d'une seule catégorie. Comment pouvons-nous
faire ça? En utilisant le vaste gamme de paramètres fournie par WP_Query
avec, c'est facile à faire. Remplacez le commentaire itsNews dans index.php par:
query ('category_name = leursNews & showposts = 7'); tandis que ($ leursNews-> have_posts ()): $ leurNews-> the_post (); ?>
Question! Sautons droit au but.
Nous avons besoin d'un code de boucle spécifique.
Lire l'article complet '); ?>
Tout simplement le titre enveloppé dans un h4 tag, avec le contenu enveloppé dans un div
classé 'entrée'. Génial! Vous avez fait votre premier WP_Query sur les 3, cela devrait
liste maintenant seulement les catégories avec le nom 'leurNews'
Nous voulons seulement afficher 1 article qui n'a pas la catégorie 'leursNews'. Seulement 1.
Puisque vous comprenez maintenant les bases de WP_Query, je vous donnerai le code complet.
(remplacez le commentaire FEATURED POST par):
query ('showposts = 1 & cat = -59'); while ($ en vedette-> have_posts ()): $ en vedette-> the_post (); ?> Publié sous .
Ce est notre article en vedette, alors j’ai judicieusement nommé le div "FeaturedPost",
mais parce que plus tard, nous voudrons aussi des styles de posts réguliers, j'ai inclus le
classe 'post'.
Même affaire avec le WP_Query. Cette fois, les paramètres ne montrent que 1 messages qui ne sont pas
de la catégorie 59. La catégorie 59 est l'ID de la catégorie 'leurNouvelles'. j'ai besoin
pour vous dire comment l'obtenir!
Voyez comment ça se passe & cat_ID = 59 à la fin? Ceci est votre numéro de catégorie.
Le mien a 59 ans, assurez-vous de le remplacer par n'importe quel identifiant de votre catégorie "leurNews"!
La différence avec le post présenté est principalement le h2. Parce que c'est le
deuxième en-tête le plus grand de la page. Tout en haut dans la section "leurNews" nous avons enveloppé
dans un h4 élément, car après les messages de la colonne principale ce sera la
En-tête suivant sur la page. Tout pour le style.
Notre dernier WP_Query. Celui-ci sera tout messages excluant les messages contenus
par la catégorie 'leurNews' (vous avez besoin de la carte d'identité. La mienne avait 59 ans, vous souvenez-vous de la vôtre?).
Mais parce que nous montrons déjà le premier post en général (la fonctionnalité
post), nous ne voulons pas le montrer à nouveau, non? Nous avons donc besoin de compenser les messages par
1 - facile à faire avec les puissants paramètres de WP_Query.Remplace le commentaire MAIN WP QUERY
dans index.php avec ceci:
query ('posts_per_page = 5 & offset = 1 & cat = -59'); while ($ main-> have_posts ()): $ main-> the_post (); ?>Publié sous .Lire l'article complet '); ?>
Voilà donc tout le code HTML et WordPress dont nous avons besoin. Il semblera toujours basique, mais
il aura la disposition générale de 3 colonnes, nous sommes après!
Maintenant, parce que toute notre mise en page est à peu près terminée, il s’agit principalement du style
nécessaire! Télécharger
tous ces CSS, et collez-les dans votre style.css. Il y a quelques choses qui
remplacer le code 960 par défaut. Nous n'avons pas besoin d'utiliser !IMPORTANT parce que
le nouveau code est en fait plus haut dans l’échelle hiérarchique que le code 960. nous
utilisez le code 960 comme une sorte de "base" à partir de laquelle nous nous sommes construits. Si vous décorez le
fondations d'une maison, voyez-vous encore les fondations brutes? Cette 'décoration'
est principalement sur les en-têtes, mais un style général est utilisé pour le contenu du texte, etc.
Majoration majeure est la police de corps. Nous spécifions Georgia, lorsque la valeur par défaut est réellement
Helvetica. Les polices sont vraiment à votre goût, je viens d'utiliser Georgia pour être
différent! Une fois que vous avez collé et lu tout le CSS, la page d'accueil doit
avoir l'air complet!
J'inclus seulement cette section afin que je ne reçois pas un zillion de questions demandant pourquoi
les pages renvoient les informations qui devraient figurer sur la page principale! Donc notre indice
la page contient 3 colonnes - Mais que remplissez-vous avec 3 colonnes dans un seul
page? Tout ce que vous voulez! Bien que je suggère le contenu du post… Alors je vais
pour expliquer à quel point page.php et single.php travailler, au cas où vous
vouloir étendre le thème. Si vous voulez diviser index.php en en-tête, sidebar et
footer, faites-le maintenant! Sinon, nous allons à la vapeur:
Alors maintenant, vous devriez avoir une colonne principale vide. Nous allons remplir cela avec un
boucle régulière:
Publié sous .
Naw… La vieille boucle ennuyeuse. N'hésitez pas à ajouter cette page à tout ce que vous voulez
vous veux que vos messages simples ressemblent. Cela fournit la base
modèle pour WordPress pour afficher un seul post.
Donc, c'est un seul post, mais nous avons toujours des liens vers single des pages dans le
navigation et pied de page. Si vous cliquez dessus, ils retourneront la même chose que l'index.
Pas cool. Tout ce que nous avons à faire est de tout copier d'un fichier à un autre page.php,
et ça devrait être doux. Facile hein? Ces pages devraient ressembler à ceci:
Vous venez donc d'avoir un aperçu de ce que WP_Query peut faire. Je suggère fortement de visiter
la page de documentation de la requête, qui contient tous les mêmes paramètres que WP_Query. Vous pouvez restreindre votre boucle à n’importe quel message en utilisant toute combinaison de paramètres séparés par un
Et.
J'espère que vous avez eu autant de plaisir que j'ai créé un thème de journal!
Vous pouvez voir le produit final ici! Prendre plaisir!