Anonim

Mabilis na Pagkasira

  • query_post - huwag gumamit maliban sa mga bihirang mga kaso ng gilid
  • pre_get_post - gamitin kung nais mong baguhin ang default na query sa isang pahina
  • bagong WP_Query - gamitin upang makakuha ng iba't ibang mga resulta mula sa pangunahing query
  • get_post - katulad ng WP_Query, ibabalik lamang ang mga resulta sa format ng array sa halip
  • query_post

    Ang paggamit ng query_post ay hindi inirerekomenda nang higit pa. Mayroong mas mahusay na mga paraan upang maisakatuparan ang sinusubukan mong tuparin. Sinusubukang baguhin ang pangunahing query? Gamitin ang aksyon pre_get_post upang mai -filter ang mga resulta (tingnan sa ibaba). itinapon ng query_post ang orihinal na pangunahing query sa gilid (matapos na ito ay tumakbo), at lumilikha ng isang bagong pangunahing query. Pinalitan nito ang lahat ng mga kaugnay na mga variable na post na may kaugnayan, at mga resulta sa isang ganap na bagong tawag sa database. Walang dahilan lamang na hindi mo dapat baguhin ang umiiral na query. Sigurado ako na may ilang mga kaso sa gilid kung saan dapat itong gamitin, ngunit hindi ko maisip ang anumang nasa itaas ng aking ulo. Gumamit ng isa sa mga pagpipilian sa ibaba, dahil mas malamang na mas mahusay ang mga ito.

    pre_get_post

    Ito ay isang filter. Binago nito ang pangunahing query sa isang pahina. Kaya, halimbawa, nais naming baguhin ang bilang ng mga resulta na ibabalik sa homepage …

function tj_change_home_number ($ query) {kung (is_home ()) {$ query-> set ('posts_per_page', 2); bumalik; }} add_action ('pre_get_post', 'tj_change_home_number');

Ito ay magbabago sa pangunahing query upang maibalik lamang ang 2 mga post sa homepage.

WP_Query

Ang pangunahing query sa anumang template na tinatawag ay isang halimbawa ng WP_Query . Kapag nakikipag-ugnay ka sa mga variable na pandaigdigang post sa loob ng isang template, iyon ang resulta ng WP_Query . Ang mga kaso ng paggamit para sa mga ito ay marami, ngunit tulad ng mga get_post, ipapahayag ko ang isang bagong WP_Query para sa layunin ng paghila ng mga nauugnay na post, isang bagay kasama ang mga linya. Tandaan lamang na kung nagpapatakbo ka ng function na_post () habang nag- iikot sa isang bagong WP_Query, patakbuhin ang function wp_reset_postdata () pagkatapos mong magawa upang mai-reset ang global na data ng post sa orihinal na pangunahing query.

makakuha ng_post

Sa pamamagitan ng paggamit ng get_post, sa bisa ng pagtawag ng isang bagong WP_Query, at ibabalik ang impormasyong iyon sa isang format na array. Karaniwang gumagamit ako ng get_post kapag binabalik ko ang mga post para sa isang slider sa homepage, o pagtawag ng ilang mga kaugnay na mga post sa isang sidebar. Ang WP_Query ay maaaring madaling gamitin, ngunit ang isang mahusay na paraan upang makatanggap ng isang hanay ng mga post nang hindi binabago ang mga variable na post ng pandaigdigan. Sa aking pananaw nito ang pinakasimpleng at pinakamadaling gamitin. Walang mga tawag sa pag-andar na kinakailangan pagkatapos na ibalik ang iyong data, pag-upo lamang sa pamamagitan ng isang hanay.

Maaari itong maging isang maliit na nakalilito, kaya huwag mag-atubiling magtanong sa mga komento sa ibaba.

Sanggunian:
WP_Query
pre_get_post
query_post
makakuha ng_post

Wp_query kumpara sa query_post kumpara sa get_post kumpara sa pre_get_post