В чем различия между WP_Query()
и get_posts()
? Что лучше использовать, в каком случае и почему?
Ну, get_posts()
на самом деле создает новый объект WP_Query
, поэтому, если вам удобно использовать WP_Query
напрямую, даже не беспокойтесь о get_posts()
; get_posts
будет возвращать только результаты из базы данных, тогда как WP_Query
предоставляет вам всю функциональность класса.
В дополнение к тому, что говорит Джон П. Блох, вы можете изменить объект WP_Query по умолчанию (вместо создания нового экземпляра), прежде чем он будет работать с его методами класса и хуком действия, уменьшая количество вызовов db, которые вы делаете.