Intereting Posts
Как создать пользовательский плагин, который позволяет анонимным пользователям регистрироваться без регистрации? Как переопределить шаблон поиска в плагине? Соглашения об именах при использовании (PHP5) пространств имен? Автогенерировать содержание Постоянная ссылка в типах пользовательских сообщений Можно ли размещать сообщения Word 2007 через XML-RPC и ограничивать категории пользователем? Ресурс был предварительно загружен с использованием предварительной загрузки ссылок, но не использовался в течение нескольких секунд shortcode – мне нужно отправить сообщение или загрузить другую страницу Как написать sql-запрос, чтобы получить сообщения от имени пользовательской таксономии WordPress прослушивает $ _POST в functions.php Как бороться с комментариями спама и отличать их от комментариев, не связанных со спамом? Я пытаюсь найти базовый плагин для отображения изображений в виджетах Как защитить пароль страницы категории / нет? Использование meta_query на pre_get_posts для исключения определенного значения meta_key get_adjacent_post – в том же сроке не работает

Объяснение перехватчиков фильтра posts_join и posts_fields?

Я новичок в фильтрах «posts_» и хотел узнать несколько вещей от тех, кто знает:

В этом вопросе кто-то отправил ответ, используя posts_join который взял второй параметр $query :

 add_filter('posts_join',array(&$this,'posts_join'),10,2); ... function posts_join($join,$query) { } 

Это экземпляр wp_query или что-то подобное?

Тот же пример:

Как определить тип сообщения, чтобы я мог выполнять пользовательские объединения для каждого настраиваемого типа сообщения, которое у меня есть на стороне администратора

Что делает posts_fields фильтра posts_fields ? из примера, который я видел, похоже, что он заменяет столбцы в предложении SELECT вызова SQL .

Правильно ли я в этом предположении, и у него тоже есть больше параметров, которые можно назвать?

Я нахожу несколько примеров, но я не могу получить какую-либо документальную документацию.

Solutions Collecting From Web of "Объяснение перехватчиков фильтра posts_join и posts_fields?"

Когда вы используете один из методов запроса сообщений ( query_posts() , get_posts() или объект WP_Query ), аргументы, которые вы предоставляете, обрабатываются и преобразуются в SQL-запрос. Это происходит в WP_Query->&get_posts() .

Поскольку аргументы не являются всемогущими, там много крючков, которые позволяют изменять или переопределять части результирующего SQL-запроса.

  • posts_join является частью запроса, который обрабатывает SQL JOINs – добавление в таблицу дополнительных таблиц, например таблиц, связанных с таксономиями, когда они необходимы.

  • posts_fields , что posts_fields контролирует, какие поля базы данных будут возвращены в запросе, по-видимому, по умолчанию все поля из таблицы posts .