Лучший опыт

Шпаргалка по функциям WordPress: краткое и удобное руководство для разработчиков.

Шпаргалка по функциям WordPress: краткое и удобное руководство для ра?.

Содержание
Функции, классы и многое другое
Новая функция WP_Query
WP_Query по id
Сортировка с помощью WP_Query orderby
Параметр поиска WP_Query
Параметр WP_Query posts_per_page
Как использовать WP_Query
Пользовательский тип сообщения get_posts
get_posts wpml
meta_query сравнить
Последние мысли

Ищете быстрое и простое в использовании руководство по часто используемым функциям ? Используйте эту удобную шпаргалку, чтобы улучшить свои навыки и эффективность в разработке плагинов и тем .

Большинство тем и плагинов ищут способы создания списков на основе нескольких условий и критериев. Вам часто нужно определить, что вам нужно на странице, и соответственно подтянуть сообщения. Вам также может потребоваться использовать другую информацию из запросов, если вы хотите создать оптимизированные страницы. База данных хранит все данные для , страниц, комментариев, категорий, тегов, настраиваемых полей, пользователей, URL-адресов сайтов и т.д. Если нам нужна дополнительная информация по ним, нам нужен способ извлечь ее из базы данных. Написание прямых SQL-запросов непросто и не рекомендуется. В этой шпаргалке мы в первую очередь рассматриваем функции , которые представляют собой простой и надежный способ работы с базой данных.

Функции, классы и многое другое

Функции предоставляют возможность создавать, изменять темы и добавлять дополнительные функции в плагины. Функции многочисленны и сложны. Это делает почти невозможным запоминание даже самых основных функций. Таким образом, вы, возможно, привыкли постоянно ссылаться на . Возможно, вы также пожелали, чтобы был быстрый и простой способ обойти широкий спектр функций и их возможностей. С помощью этой шпаргалки мы предлагаем вам список наиболее часто используемых функций . Шпаргалка поможет вам разобраться в сложностях функций и упростит программирование. Мы также показываем использование этих функций на примере кода PHP.

WP_Query – это класс, описывающий запрос . Объект класса предоставляет подробную информацию о запросе, сделанном сообщением или страницей в блоге . Он используется для определения типа запроса, например датированного архива, ленты новостей, поиска и т.д., И, соответственно, получения .

Вы можете использовать его для определения запроса для страницы для фильтрации на странице. WP_Query не только извлекает определенные сообщения для страницы, но также предоставляет дополнительную информацию о них. Это безопасный, простой и модульный подход для отправки сложных запросов в базу данных.

Начнем с понимания того, как создавать объекты WP_Query. Мы опишем часто используемые функции для создания и использования ваших собственных объектов WP_Query.

Новая функция WP_Query

Вы можете создать объект класса WP_Query, вызвав новую функцию WP_Query. При создании объекта вы можете указать для него список аргументов. Эти аргументы определяют объект WP_Query и определяют, какие сообщения будут перечислены в создаваемом объекте.

Аргумент WP_Query() список длинный, и вы можете найти их в списке на своей странице Codex.

Пример создания объекта WP_Query для всех с тегом «xyz» и категорией «последние»:

//specify the argument list $args = array( 'tag' => ‘xyz’, ‘category => ‘latest’); //construct the query object $query = new WP_Query($args);

Итак, мы видим, что мы указываем аргументы как массив, хранящийся в переменной $ args. Затем мы создаем с ним новый объект WP_Query и сохраняем созданный объект в переменной $ query. На эту переменную $ query можно ссылаться в более позднем коде, чтобы получить информацию, хранящуюся в ней.

определяет различные параметры, которые могут быть отправлены в качестве аргументов этой функции. Давайте рассмотрим некоторые из этих параметров и методы создания объектов WP_Query с изменяющимся списком аргументов.

WP_Query по id

Объект WP_Query может использоваться для получения сообщения или страницы по идентификатору с использованием параметров «p» и «page_is» соответственно.

Показать сообщение по ID:

Укажите идентификатор сообщения как значение параметра ‘p’ в списке аргументов WP_Query, как показано ниже.

$query = new WP_Query( array( 'p' => 7) );

Отображать сообщения по ID страницы:

Укажите идентификатор страницы в качестве значения параметра page_id в списке аргументов WP_Query, как показано ниже.

$query = new WP_Query( array( 'page_id' => 7) );

Сортировка с помощью WP_Query orderby

Одним из часто используемых аргументов, предоставляемых функции WP_Query (), является параметр ‘orderby’. Вы можете использовать порядок по аргументу для сортировки по таким параметрам, как заголовок, автор и т.д. Для этого аргумента доступны один или несколько вариантов. Также здесь необходим параметр «порядок», который может быть по возрастанию или по убыванию. Если есть только одна опция, она передается как аргумент ‘orderby’ со значением ‘order’ как по возрастанию, так и по убыванию. Несколько вариантов передаются в виде массива параметров и значений порядка. Параметром порядка по умолчанию является дата (post_date) с порядком убывания.

  • Пример одного аргумента orderby:
//order posts in descending order of title $args = array(       'orderby' => 'title',       'order' => 'DESC', ); $query = new WP_Query( $args );
  • Пример нескольких аргументов orderby с одинаковым порядком:
//Display pages ordered by 'title' and 'menu_order’. $args = array(         'orderby' => 'title menu_order',         'order' => 'ASC', ); $query = new WP_Query( $args );

Обратите внимание, что заголовок имеет более высокий приоритет и стоит перед порядком меню в порядке списка.

  • Пример нескольких аргументов orderby с разным порядком:
$args = array(       'orderby' => array( 'title' => 'DESC', 'menu_order' => 'ASC') ); $query = new WP_Query( $args );

Параметр поиска WP_Query

Используйте параметр поиска, чтобы получать сообщения на основе поиска по ключевым словам. Ключ параметра – «s», а его значение – ключевое слово для поиска.

Пример отображения , соответствующих поисковому запросу «search_item»:

$query = new WP_Query( array( 's' => ‘search_item’) );

Объект запроса создается для , которые соответствуют ключевому слову search_item в заголовке и содержании поиска.

Параметр WP_Query posts_per_page

Параметр posts_per_page для WP_Query указывает количество , отображаемых на странице. Если вы хотите показать все сообщения, используйте для этого параметра значение -1.

  • Пример отображения 3 на странице
$query = new WP_Query( array( 'posts_per_page' => 3) );
  • Пример отображения всех на странице
$query = new WP_Query( array( 'posts_per_page' => -1) );

Для этого параметра доступны другие варианты, которые подробно описаны в справочнике кодекса.

Как использовать WP_Query

Объект класса WP_Query создается при загрузке страницы в . В зависимости от URL-адреса запроса объект может быть настроен для доступа к сообщениям на основе таких критериев, как первые десять , сообщение с определенным заголовком, сообщения в категории и т.д.

Есть два основных сценария использования объекта WP_Query:

1. Определите тип запроса: используйте объект WPQuery, чтобы определить тип запроса для текущего запроса . Эта информация присутствует в свойствах объекта, названных как свойства $ is *, и может быть получена с помощью этих свойств. Этот подход обычно используется разработчиками плагинов, которые хотят добавить код для обработки типов запросов.

Здесь следует отметить, что свойства $ is_ * не используются напрямую в коде. Они используются с помощью . Условные теги можно использовать для изменения отображаемого содержимого. Вы также можете определить, какой контент будет отображаться на определенной странице в зависимости от условий, которым она соответствует.

Примеры :

  • is_home ()

Функция is_home () определяет, относится ли запрос к домашней странице блога. Используйте условный тег is_home (), чтобы отобразить что-нибудь на домашней странице блога.

Функция is_home () указывает, относится ли запрос к домашней странице блога. Эта функция возвращает True, если просмотр блога является домашней страницей, в противном случае – false. Внутренне использует функцию get_option () для получения значений определенных значений параметров и проверки, относится ли текущий запрос к домашней странице.

  • is_page ()

Функция is_page () определяет, относится ли запрос к странице. У этой функции есть множество вариантов на выбор, вы можете посмотреть ссылку для более подробной информации.

2. Последовательный просмотр нескольких запросов: объект WP_Query предоставляет множество функций для общих задач, которые последовательно выполняются для нескольких . В вы можете обрабатывать каждое сообщение, которое будет отображаться на текущей странице, и форматировать его на основе определенных критериев. Вы можете добавить в цикл HTML или PHP код, который нужно обрабатывать для каждого сообщения. Две основные функции , которые используются в цикле, – это функции have_posts () и the_post ().

Эта функция have_posts () используется для проверки результатов текущего запроса . Если есть какие-либо результаты, которые нужно перебрать, функция возвращает ИСТИНА, иначе она возвращает ЛОЖЬ. Обычно вы должны использовать эту функцию, чтобы проверить, вернул ли ваш запрос ненулевое количество результатов.

$the_query->have_posts()

Используйте функцию the_post (), чтобы перебирать сообщения в цикле. Эта функция использует индекс для просмотра каждого сообщения в результатах запроса.

$the_query->the_post()

Эти две функции используются в цикле while для последовательного выполнения задач для каждой публикации в возвращаемых результатах.

<?php

Мы изучили основы WP_Query и узнали, как создавать и использовать объекты запроса. Теперь перейдем к несколько продвинутым функциям WP_Query.

Tax_query используется для выполнения запросов на основе таксономий. «Таксономия» – это механизм группировки , ссылок или настраиваемых типов . При создании таксономии создается специальная переменная tax_query с использованием класса WP_Query.

Tax_query принимает массив массивов аргументов налогового запроса. Вы можете запросить несколько таксономий, используя параметр отношения для описания логической связи между массивами таксономии.

Давайте посмотрим на простой пример отображения , помеченных термином “Изображение”, в настраиваемой таксономии “тип содержимого”:

$args = array(       'post_type' => 'post',       'tax_query' => array(            array(                 'taxonomy' => 'content-type',                 'field' => 'slug',                 'terms' => 'Image',              ),         ), ); $query = new WP_Query( $args );

Если вы хотите узнать больше о том, как использовать сложные tax_queries, вы можете обратиться к справочнику WP_Query.

Функция the_excerpt () отображает из текущего сообщения. Он применяет несколько фильтров к отрывку, включая форматирование auto-p.
Эта функция не принимает никаких параметров и обрезает содержимое до 55 слов, а все теги HTML удаляются перед возвратом текста.

Пример использования the_excerpt ()

 

Функция the_title () отображает или возвращает заголовок текущего сообщения. Используйте эту функцию из и используйте чтобы получить заголовок сообщения за пределами .

Эта функция принимает в качестве параметров текст, который нужно разместить до или после заголовка, а также то, должен ли заголовок отображаться или возвращаться для использования в PHP.

Пример использования the_title () для получения заголовка сообщения в формате «Заголовок 3».

<?php the_title( '<h3>', '</h3>', FALSE ); ?>

Функция get_pages () возвращает массив страниц в блоге. Функция также может получать другие типы с помощью параметра post_type.

Пример использования get_pages ()

<?php $args = array(

Функция the_category () отображает ссылку на категорию или категории, к которым принадлежит публикация. Эта функция также используется в .

Функция принимает в качестве параметров идентификатор сообщения, для которого отображаются категории. Также требуется разделитель для категорий, а также для отображения одной или нескольких ссылок на дочерние категории.

Пример использования the_category () для категорий, разделенных запятой.

<?php the_category( ', ' ); ?>

Функция add_filter используются для крючок функции или методы к действию конкретного фильтра. Класс WP_Query поддерживает около 16 фильтров . Это фильтры, запускаемые объектом WP_Query при создании и выполнении запроса, который извлекает сообщения. Вы можете использовать функцию add_filter, чтобы добавить фильтр WP_Query для определенных действий запроса.

add_filter( 'post_limits', 'my_post_limits_function' );

Здесь функция my_post_limits_function определяется пользователем, и вы можете добавить свой код, чтобы изменить поведение предложения LIMIT запроса. Примером может быть добавление ограничения на количество результатов, возвращаемых в объекте WP_QUERY, в зависимости от того, является ли это поисковым запросом на странице поиска.

Для использования с WP_Query доступно еще много фильтров, которые можно использовать для изменения различных предложений запроса, возвращающего массив . Некоторые из них упомянуты ниже:

  • posts_distinct
  • posts_groupby
  • posts_join
  • post_limits
  • posts_orderby
  • posts_where

Функция add_action используется для привязки функции к определенному действию. Действия – это перехватчики, которые запускаются в определенные моменты во время выполнения или при возникновении определенных событий.

Объект WP_Query также поддерживает add_action (). С помощью хука действия ‘the_post’ вы можете изменить объект сообщения сразу после того, как он будет запрошен.

//define action_hook function my_the_post_action( $post_object) {       // modify post object here } //register action_hook add_action( 'the_post', 'my_the_post_action' );

Хук pre_get_posts вызывается после создания объекта запроса, но до выполнения фактического запроса. Таким образом, вы можете использовать его для изменения запросов до их выполнения.

Вы можете обратиться к справочнику по кодексу для получения подробной информации о дополнительных действиях, поддерживаемых объектами WP_Query.

Функция get_posts () принимает идентификатор сообщения и возвращает данные сообщения из базы данных. Эта функция возвращает массив объектов WP_Post, где каждый объект представляет отдельную публикацию, которая может быть публикацией, страницей или произвольным типом сообщения.

Преимущество использования get_post () над WP_Query () заключается в том, что основной цикл не изменяется, чего нельзя сказать о WP_Query (). Внутренне функция get_posts () также использует объект WP_Query () для получения на основе переданных аргументов. Однако он гарантирует сброс основного , который вы можете забыть сделать, если используете WP_Query напрямую.

Вот небольшой пример использования функции get_posts ():

$args = array( "post_type" => "post" ); $posts_array = get_posts($args);

В этом случае мы получаем массив от вызова get_posts (). Если вы посмотрите ссылку на функцию в кодексе, есть еще много параметров, таких как posts_per_page, paged, tax_query и т.д.

Пользовательский тип сообщения get_posts

Вы также можете использовать функцию get_posts () для получения пользовательского типа post_type с пользовательским именем таксономии.

$args = array(       'post_type' => 'post',       'tax_query' => array(            array(                 'taxonomy' => 'content-type',                 'field' => 'slug',                 'terms' => 'Image',               ),        ), ); $posts_array = get_posts($args);

get_posts wpml

Плагин Multilingual добавляет поддержку нескольких языков на страницах . Он также предоставляет функции, которые работают с классами WP_Query и WP_Post и предоставляют способ извлекать сообщения на определенных языках и управлять ими.

Функция get_posts () по умолчанию возвращает все сообщения для каждого языка. Чтобы вернуть только сообщения для текущего языка, вы можете использовать любой из двух подходов.

  • Используйте suppress_filters: установите для параметра suppress_filters функции get_posts значение false. Это позволит функции get_posts () возвращать сообщения только на текущем языке.
$args = array( // add other arguments here 'suppress_filters' => false ); $posts_array = get_posts( $args );
  • Функция query_posts: Другой предпочтительный вариант – возвращать сообщения с помощью функции query_posts ().. Он принимает в качестве параметра массив аргументов WP_Query и возвращает список объектов сообщения. Функция query_posts () изменяет основной запрос, который использует для отображения . Он заменяет основной запрос новым запросом. Поэтому необходимо вызвать wp_reset_query () после query_posts (), чтобы восстановить исходный основной запрос // создать массив аргументов с языком, установленным как en_us
$args = array(       'order' => 'ASC',       'lang' => 'en_us'); // use query_posts to retrieve posts in English. query_posts( $args );

Важно отметить, что использование этой функции для замены основного запроса на странице может увеличить время загрузки страницы. Это не рекомендуемый вариант, и он также может вызвать путаницу.

Есть и другие параметры, которые обычно используются с функциями query_posts (). Предел query_posts для возвращаемых можно установить с помощью параметра «posts_per_page». Если вы хотите вернуть сообщения с определенной страницы, вы также можете использовать параметр query_posts ‘paged’. Параметр смещения query_posts используется для указания количества , которые вы хотите пропустить перед тем, как начать список .

Сообщение WP_Query содержит дополнительную информацию, известную как метаданные. Эти метаданные могут включать в себя биты информации, такие как настроение, погода, местоположение и т.д.

Мета-данные хранятся в виде пар ключ / значение. Ключ – это имя элемента метаданных, а значение – это информация. Значение можно увидеть в списке метаданных любого сообщения, к которому привязана информация.

Существует несколько функций для метаданных WP_Query для добавления, удаления и получения метаинформации.

  • get_post_meta

Функция get_post_meta извлекает мета-поле сообщения для сообщения.

get_post_meta($post_id, $key, $single);

Как видно выше, мы передаем в качестве аргументов идентификатор сообщения, мета-ключ и то, хотим ли мы получить единственный результат в виде строки или массива полей.

  • meta_value

Функция meta_value позволяет получить запись с выбранным мета-ключом и мета-значением.
В качестве примера мы покажем, как фильтровать сообщения с meta_key, установленным как ‘show_on_firstpage’ и meta_value как ‘on’.

$rd_args = array(       'meta_key' => 'show_on_firstpage',       'meta_value' => 'on' );  $query = new WP_Query( $rd_args );

Класс WP_Meta_Query – это базовый класс, используемый для реализации мета-запросов для Meta API. Этот объект класса можно использовать для генерации предложений SQL для фильтрации первичного запроса по ключам и значениям метаданных. хранит три типа метаданных поста, мета пользователя и мета комментария. Вы можете рассматривать этот класс как помощник для основных классов запросов, таких как WP_Query, используемых для фильтрации их результатов по метаданным объекта.

Чтобы создать объект класса WP_Meta_Query, вы можете передать несколько аргументов в виде парного массива ключ => значение. Доступные ключи, которые эта функция принимает в качестве аргументов:

  • meta_key
  • meta_value
  • meta_type
  • meta_compare

Ниже приведен пример простого использования а для создания объекта класса WP_Meta_Query.

$meta_query_args = array(            array(            'key' => 'custom_key',            'value' => 'custom_value' )); $meta_query = new WP_Meta_Query( $meta_query_args );

meta_query сравнить

Иногда вам может потребоваться сравнить значения, соответствующие ключам метаданных. Механизмом по умолчанию для сравнения meta_values ​​является оператор ‘=’, который проверяет равенство. Если вы хотите выбрать из других вариантов, например ‘! = ‘,’> ‘,’ <‘и т. д., тогда вы можете использовать аргумент сравнения meta_query. Вы должны указать его как аргумент сравнения в массиве arguments.

Возможные значения: ‘=’, ‘! =’, ‘>’, ‘> =’, ‘<‘, ‘<=’, ‘LIKE’, ‘NOT LIKE’, ‘IN’, ‘NOT IN’, ‘ BETWEEN ‘,’ NOT BETWEEN ‘,’ EXISTS ‘(только в WP> = 3.5) и’ NOT EXISTS ‘(также только в WP> = 3.5). Значения «REGEXP», «NOT REGEXP» и «RLIKE» были добавлены в 3.7.

$meta_query_args = array(             array(             'key' => 'custom_key',             'value' => 'custom_value'             'compare' => 'EXISTS', )); $meta_query = new WP_Meta_Query( $meta_query_args );

Последние мысли

Разработчики имеют доступ к обширному списку функций для настройки своих тем. Мы составили список наиболее часто используемых функций запросов . Однако понятно, что обучение использованию этих функций вначале может занять много времени. Разработчики склонны искать варианты, которые просты в использовании и предоставляют им аналогичные функциональные возможности и гибкость. TemplateToaster, тем и сайтов является одним из таких инструментов с расширенными функциями и функциями для создания тем , значительно упрощающих работу по разработке. Инструмент представляет собой комплексное программное обеспечение для веб-дизайна, которое обеспечивает поддержку всех плагинов и настраиваемых тем. С помощью этого инструмента вам не нужно будет углубляться в детали функций и вы сможете напрямую использовать темы из обширной коллекции, которую предлагает TemplateToaster.

Лучший интерфейс перетаскивания для создания потрясающих тем

Источник записи: