Anonim

Брзи квар

  • куери_постс - не користите осим у ретким ивицама
  • пре_гет_постс - користите ако желите изменити задани упит на страници
  • нови ВП_Куери - користите за добијање различитих резултата од главног упита
  • гет_постс - исто као ВП_Куери, уместо тога враћа резултате у формату поља
  • куери_постс

    Употреба куери_постс се више не препоручује. Постоје бољи начини да постигнете оно што покушавате да постигнете. Покушавате да измените главни упит? Употријебите акцију пре_гет_постс да бисте филтрирали резултате (види доље). куери_постс баца оригинални главни упит у страну (након што је већ покренут) и ствара нови главни упит. Замењује све глобалне променљиве повезане са постом и резултира потпуно новим позивом из базе података. Једноставно нема разлога да не бисте само мењали постојећи упит. Сигуран сам да постоје неки рубни случајеви у којима би требало да се користи, али не могу се сјетити ничега с врха главе. Искористите једну од нижих опција, јер ће им вероватно више одговарати.

    пре_гет_постс

    Ово је филтер. Ово мења главни упит на страници. Тако, на пример, желимо да променимо број резултата који се враћају на почетну страницу …

функција тј_цханге_хоме_нумбер ($ упит) {иф (ис_хоме ()) {$ куери-> сет ('постс_пер_паге', 2); повратак; }} додавање датотеке ('пре_гет_постс', 'тј_цханге_хоме_нумбер');

Ово би измијенило главни упит тако да се на почетној страници врате само 2 постова.

ВП_Куери

Главни упит у било којем позиву који се зове је инстанца ВП_Куери . Када комуницирате са глобалним варијаблама поста унутар предлошка, то је резултат ВП_Куери . Случајеви употребе за ово су бројни, али као и код гет_постс, декларирао бих нови ВП_Куери у сврху повлачења повезаних постова, нешто по том питању. Само имајте на уму да ако покренете функцију тхе_пост () док петљате кроз нову ВП_Куери, покрените функцију вп_ресет_постдата () након што завршите петље и ресетујете глобалне податке поста на оригинални главни упит.

гет_постс

Користећи гет_постс, ви уствари зовете нови ВП_Куери и враћате те податке у формату поља. Обично ћу користити гет_постс када враћам постове за клизач на почетној страници или позивам неке сродне постове на бочној траци. ВП_Куери би се могао једнако лако користити, али то је добар начин за пријем низа постова без модификације глобалних варијабли поста. По мом мишљењу, најједноставнији је и најлакши за употребу. Након враћања података нису потребни позиви функција, већ само петљајте кроз низ.

Ово може бити мало збуњујуће, зато слободно поставите питања у коментарима испод.

Референце:
ВП_Куери
пре_гет_постс
куери_постс
гет_постс

Вп_куери вс куери_постс вс гет_постс вс пре_гет_постс