Mastering WP_Query Series Finale

Welkom bij het einde van de serie "Mastering WP_Query". Het is een lange reis geweest - dit was een van de langste series uit de geschiedenis van Tuts +. Rachel en ik zijn erg trots om de twee schrijvers hiervan te zijn WP_Query referentie.

We hopen dat je van de rit hebt genoten. In dit laatste deel gaan we door wat we hebben geleerd en sluiten we de gordijnen.

Deel 1: een inleiding

Dit was de introductie van de serie door Rachel. In dit deel hebben we geleerd:

  • wat WP_Query is in eenvoudige bewoordingen en een eenvoudig voorbeeld
  • waarom we zouden moeten gebruiken WP_Query, en waarom we het over andere methoden zouden moeten gebruiken om aangepaste queries te maken
  • de "restricties" van WP_Query dat we zouden moeten weten

Deel 2: De lus gebruiken met WP_Query

Het tweede deel ging over het maken van een lus met de WP_Query klas, ook geschreven door Rachel. In dit deel hebben we geleerd:

  • wat een "WordPress-lus" is en waar deze wordt gebruikt
  • de manier waarop WordPress-lussen zijn gestructureerd (met een goed geschreven, gedetailleerd voorbeeld)
  • extra loops uitvoeren met de WP_Query klasse

Deel 3: Gerelateerde functies

In dit deel, geschreven door ondergetekende, hebben we meer dan 13 functies besproken WP_Query, het gemakkelijker maken om ermee te werken. De functies waren:

  • get_query_var (), welke openbare queryvariabelen oplevert
  • query_posts (), die de hoofdlus verandert en een slechte, zeer slechte functie is
  • get_post (), die een eenvoudige post krijgt om mee te werken
  • get_posts (), waardoor berichten worden opgehaald en geretourneerd in een array
  • get_pages (), waardoor pagina's op dezelfde manier worden verkregen
  • have_posts (), wat een voorwaardelijke tag is die terugkeert TRUE als er berichten zijn geretourneerd in de query
  • de post(), die de tandwielen in de lus draait
  • setup_postdata (), die de globale opzet $ bericht veranderlijk
  • rewind_posts (), die de huidige lus wist
  • wp_reset_postdata (), waarmee de globale wordt gereset $ bericht veranderlijk
  • wp_reset_query (), waarmee de hele query wordt gereset
  • is_main_query (), die controleert of de huidige query de hoofdquery is (en een andere voorwaardelijke tag is)
  • in de lus(), die controleert of we op de hoogte zijn (en nog een andere voorwaardelijke tag is)

Deel 4: Gerelateerde filters en acties

Dit deel dat ik schreef was zowel vervelend als de moeite waard om over te schrijven. Het was vervelend omdat het veel meer onderzoekstijd kostte, maar het was erg lonend omdat, nou ja, ik heb zoveel geleerd. (Pro-learningtip: schrijf een tutorial over een onderwerp waarover je weinig weet!)

elk WP_Query-gerelateerd filter was (op de een of andere manier) over de SQL-opdrachten die de query uitvoerden - de meeste filterden de verschillende clausules zoals BEGRENZING, WAAR of DISTINCT. De drie acties hebben daarentegen verschillende doelen:

  • De pre_get_posts actie interfereert met de query voor het is gelopen.
  • De parse_query actie zorgt voor de ontleding van de query.
  • De de post actie past het post-object aan.

Deel 5: Eigenschappen en methoden

In dit deel dat ik schreef, hebben we de eigenschappen en methoden van de WP_Query klasse. ("Eigenschappen" en "methoden" zijn slechts "variabelen" en "functies" binnen een PHP-klasse.) De eigenschappen (variabelen) die we leerden waren:

  • $ vraag
  • $ query_vars
  • $ queried_object
  • $ queried_object_id
  • $ posts
  • $ POST_COUNT
  • $ found_posts
  • $ max_num_pages
  • $ current_post
  • $ bericht
  • 25 eigenschappen die beginnen met $ is_, die werken als voorwaardelijke tags

En de methoden (functies) waren:

  • in het()
  • parse_query ()
  • parse_query_vars ()
  • krijgen()
  • set ()
  • & Get_posts ()
  • next_post ()
  • de post()
  • have_posts ()
  • rewind_posts ()
  • & Vraag ()
  • get_queried_object ()
  • get_queried_object_id ()

Delen 6 tot 12: argumenten van de WP_Query-klasse

In de volgende zeven delen heeft Rachel fantastisch werk geleverd door alle argumenten te verklaren die we kunnen gebruiken met de WP_Query klas, met kleine voorbeelden:

  • Deel 6: Argumenten-pagina's, berichten en berichttypes
  • Deel 7: Argumenten - Categorieën en tags
  • Deel 8: Argumenten-Taxonomieën
  • Deel 9: Argumenten-Aangepaste velden
  • Deel 10: Argumenten-datum
  • Deel 11: Argumenten - Berichtstatus, paginering en bestellen
  • Deel 12: Argumenten - Auteur, Zoeken, Wachtwoord, Toestemmingen, Caching en Return Fields

Deel 13: 10 Nuttige voorbeelden van WP_Query

In dit deel heb ik de vrijheid genomen om verschillende voorbeelden te doorlopen met behulp van de WP_Query klasse en de bijbehorende functies. (Ik heb ook een snel voorbeeld gegeven om je eraan te herinneren hoe je een lus maakt met WP_Query.) De voorbeelden gingen over:

  1. een lijst van de posts van een auteur in het lopende jaar
  2. een "Laatste berichten uit deze categorie" maken die het huidige bericht uitsluit
  3. een lijst met 'Meest populaire berichten' maken, gesorteerd op aantal reacties
  4. een eenvoudige schuifregelaar maken
  5. een willekeurige quote in de zijbalk weergeven
  6. lijst van producten tussen een prijsklasse
  7. een shortcode bouwen om een ​​bericht in een bericht weer te geven
  8. een lijst met de huidige geplande berichten (met fragmenten, als je wilt)
  9. een "Bericht van een jaar geleden vandaag" -sectie weergeven
  10. de kinderen van de huidige pagina tonen

Ik moet toegeven dat dit het leukste onderdeel was waar ik aan werkte!

Deel 14: Combinatie van WP_Query met de hoofdquery

Dit deel, geschreven door Rachel, vertelt ons over het combineren van de WP_Query klasse met de hoofdquery. Het is een zeer intrigerend onderwerp, maar ik moet hier wat spoilers geven. In dit deel gaf Rachel drie geweldige voorbeelden:

  1. Het eerste voorbeeld ging over het weergeven van alleen berichten van één berichttype in een categoriearchief.
  2. Het tweede voorbeeld ging over het verkrijgen van de berichten (geretourneerd door de hoofdquery) op posttype en het tonen van de posts gescheiden door het berichttype, maar in een enkele lijst.
  3. Het derde voorbeeld ging over het scheiden van de hoofdquery in twee aangepaste query's.

Parts 15 to 18: The Companions of the WP_Query Class

Wist je dat er klassen zijn die werken zoals de WP_Query klas om te helpen WP_Query? In de volgende delen hadden Rachel en ik het over:

  • mastering WP_User_Query in deel 15
  • mastering WP_Comment_Query in deel 16
  • mastering WP_Meta_Query & WP_Date_Query in deel 17

Deel 18: Verbeteringen in zoekopdrachten in WordPress 4.1

In dit deel vertelde Rachel over de verbeteringen aan het query-systeem van WordPress in versie 4.1-achtige geneste queries, commentaarparameters en algemene bugfixes. Het is een zacht onderdeel, een licht dat voor het einde gelezen wordt.

Deel 19: Het einde

Zoals het Oracle zei in The Matrix Revolutions: Alles dat een begin heeft, heeft een einde.

Het was een lange rit, en zoals ik in het begin zei, het is een van de langste series in de geschiedenis van Tuts +. Ik heb de krachten gebundeld met Rachel McCollin, een van de beste instructeurs in Tuts +, en we zijn allebei fier dat we degenen zijn die de langste, de meest uitgebreide en de meest epische tutorialserie hebben geschreven over de WP_Query klas en zijn metgezellen.

We hebben heel hard aan de serie gewerkt en we hopen echt dat je er van genoten hebt. Als je iets nieuws hebt geleerd in deze 19-delige serie, dan zijn we blij dat we het goed hebben gedaan.

Als je opmerkingen over deze serie hebt, aarzel dan niet om je gedachten te delen in het gedeelte Opmerkingen hieronder. En, zoals altijd, als je de serie leuk vond, vergeet dan niet dit laatste deel met je vrienden te delen als een index.

Proost!