ПредишенСледващото

Първият от тях, wp_reset_postdata (), дава възможност да се върне на глобалната променлива $ пост в първоначалното му състояние в основната заявка. Шаблонът за маркер е особено полезно, когато се използва с WP_Query; тя позволява да се променя или цикли на отнемане да създават многобройни цикли на същата страница. Тя изглежда по следния начин:

Доколкото може да се види, този маркер е много проста в исковата си молба: необходими са не параметри и връща никаква стойност. Той просто хвърля за запис на данни след извършване на произволна заявка. Кажи, например, че имаме WP_Query цикъл е в header.php теми файлове:

Този цикъл ще покаже произволен запис в заглавието, но то също така ще са се променили и предмета на искането за всякакви други линии на страницата. Без изходните данни за изпълнение на основната линия с документите, тоест, да речем, в index.php, може да доведе до неочаквани резултати. За щастие, ние можем да използваме wp_reset_postdata, за да се върнете на обект заявка в първоначалното й състояние.

За да направите това, поставете остатъчен wp_reset_postdata след всичките му произволни цикли. В предишния пример, за да нулирате цикъл, е достатъчно да се прилага wp_reset_postdata:

По този начин, ние се избегне най-неизвестни и неразбираеми грешки, свързани с изпълнение на множество цикли.

Wp_reset_postdata използва най-добре след цикъла, създадени от WP_Query.

Следният шаблон маркер, който ние ще разгледаме това wp_reset_query (). wp_reset_query функция ви позволява да възстановите заявката се използва в произволен цикъл. Тази функция, както и wp_reset_postdata, отнема не параметри и връща никаква стойност. Това е, както следва:

Ако се вгледаме в wp_reset_query функция query.php, можем да видим, че той използва допълнителната функция wp_reset_postdata, както е описано по-горе:

По този начин, както функции wp_reset_query () и wp_reset_postdata () ви позволява да възстановите обекта искане на възстановяване на глобалната променлива $ поста, но wp_reset_query отива малко по-нататък - тази функция е всъщност унищожаване на предходната молба преди да се обвържете с поверената му задача. Примерът по-долу илюстрира използването му:

Свързани статии

Подкрепете проекта - споделете линка, благодаря!