Функции вывода в WordPress

Получение URL адреса главной страниы

Выборку и вывод URL-адреса главной страницы будут осуществлять следующие теги шаблона:

bloginfo( ‘url’ ): отображает URL главной страницы так, как указано в настройках админ панели.
get_bloginfo( ‘url’ ): получает URL сайта, при этом его не отображая.
home_url():получает URL главной страницы, при этом его не отображая. Используйте функциюecho esc_url( home_url( ‘/’ ) ); для отображения URL главной страницы с закрывающим слэшем. Здесь два опциональных параметра: $path – добавление пути к конкретной странице или добавление закрывающего слэша и $scheme – указание схемы URL-адреса, т.е. http, https и другие.
get_home_url(): получает URL главной страницы и поддерживает Мультисайт: можно подключить ID блога в качестве параметра.
site_url():URL-адрес, где хранится информация, касающаяся WordPress. Если ваша WordPress установка находится в подкаталоге WordPress, то функция получит ссылку:https://mysite.com/wordpress.
get_site_url(): получает URL сайта без его вывода. Может использоваться с параметрами для вывода URL сайта в мультисайтовой версии. Здесь нужно добавить путь и использовать определенную схему.
network_home_url(): URL главной страницы для основного сайта в мультисайтовой версии. Например, функция полезна, если вы хотите подключить ссылку на главный сайт в футере каждого сайта.
network_site_url(): URL сайта для главного сайта в мультисайтовой версии .
Как видите, есть несколько различных тегов, которые можно использовать для отображения URL-адреса. Какой именно из них выбрать? Это зависит от ряда факторов:

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

Получение других URL адресов вашего сайта

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

post_permalink() выводит ссылку на запись, с ID записи в качестве параметра.
get_page_link() получает, но не выводит ссылку на страницу, с ID страницы в качестве параметра.
get_permalink() получает, но не выводит постоянную ссылку на запись или страницу, с ID записи или ID страницы в качестве параметра.
get_category_link() получает ссылку на архив категории, с ID категории в качестве параметра.
get_tag_link() получает ссылку на тег страницы архива, с ID тега в качестве параметра.
get_post_type_archive_link() получает ссылку на архив типа записи, с типом записи в качестве параметра.
get_term_link() получает ссылку на элемент таксономии, с элементом и таксономией в качестве параметров.
the_attachment_link() выводит ссылку на вложение, с ID вложения в качестве первого параметра. Используйте другие параметры для определения размера изображения и определения того, будет ли ссылка вести на сам файл или на его страницу вложения.
get_attachment_link() получает ссылку на вложение, с ID вложения в качестве параметра.
wp_get_attachment_link() также получает ссылку на вложение, но дополнительно позволяет отображать изображение того размера, который вы указали (в том случае, если вложением является изображение).
get_search_link() получает ссылку на страницу поиска. Вы можете задать запрос в качестве параметра, либо оставить его пустым, в этом случае будет использоваться текущий запрос.
Получение других необходимых URL адресов админ панели

Если вы разрабатываете плагин или тему со страницей настроек в WordPress админке, или настраиваете админ панель, то возможно вы захотите добавить ссылку на админ панель. Опять же, вам не следует напрямую прописывать URL-адреса, лучше воспользуйтесь одним из следующих тегов:

admin_url() получает, но не выводит URL в админке. Вам необходимо указать путь к URL в качестве параметра и при желании указать схему. Так, например, для вывода URL-адреса на экран при создании записи, следует использовать функцию echo admin_url( ‘post-new.php’ );
get_admin_url() идентична функции admin_url(), но поддерживает мультисайтовую версию, можно подключить ID блога в качестве параметра.
edit_post_link() отображает ссылку на страницу редактирования записи. Может использоваться в цикле и вне цикла с ID записи в качестве параметра.
get_edit_post_link() получает ссылку на редактирование записи в админ панели, с ID записи в качестве параметра.
Получение файлов из дирректорий вашего плагина или темы

Если вы кодируете URL-адреса в фронтэнде или админ панели, то следует так же корректно кодировать URL и пути к файлам в папках вашего плагина или темы.
Вот функции, которые нужно использовать в файлах темы:

get_stylesheet_directory() получает абсолютный путь до каталога, где находится текущий файл темы. Используется больше для подключения файлов, чем для вывода ссылок.
get_stylesheet_directory_uri() получает URL текущей темы без закрывающего слэша. Используется в шаблонах файлов для получения ресурсов, хранящихся в папке вашей темы. Например, для отображения изображения, хранящегося в папке изображений вашей темы, используйте#&060;img src=”#&060;?php echo get_stylesheet_directory_uri(); ?#&062;/images/logo.jpg”#&062;.
get_bloginfo( ‘stylesheet_directory’ ) получает URL текущей темы. Лучше использовать функцию get_stylesheet_directory_uri().
get_template_directory_uri() идентична функцииget_stylesheet_directory_uri(), но если вы используете дочернюю тему, то она получает URL для родительской темы.
Функция get_template_directory() работает аналогично функции get_stylesheet_directory(), но для родительской темы.
А в файлах плагина следует использовать следующие функции:

plugins_url() получает полный URL на директорию плагинов без закрывающего слэша. Принимает два опциональных параметра: путь, который добавляется после URL, и плагин, URL которого вы получаете.
plugin_dir_url() получает URL каталога, где находится указанный файл плагина, с закрывающим слэшем. Обычно используется константа __FILE__ в качестве параметра для обозначения текущего файла.
А вот и пример использования выше приведенных функций. Сначала получаем URL файла, находящегося в текущей директории плагина:

PHP

plugins_url( 'includes/myfile.php', __FILE__ );

А теперь получаем тот же самый URL с помощью функции plugin_dir_url():

PHP

plugin_dir_url( __FILE__ ) . 'includes/myfile.php' ;

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

Получение стилей и скриптов 

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

Для вызова стилей используйте функции wp_register_style() и wp_enqueue_style() и подключите к хуку wp_enqueue_scripts . Ниже представлен пример использования функции в плагине:

PHP

function register_my_styles() {
wp_register_style( 'my-styles', plugins_url( '/css/style.css', __FILE__ ) );
wp_enqueue_style( 'my-plugin' );
}
add_action( 'wp_enqueue_scripts', 'register_my_styles' );

Обратите внимание, что я использовал константу __FILE__, которая сообщает WordPress, что путь к таблице стилей соотносится с текущим файлом.

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

PHP

function register_my_scripts() {
wp_register_script( 'my_script', plugins_url( '/js/script.js', __FILE__ ) );
wp_enqueue_script( 'my_script' );
}
add_action( 'wp_enqueue_scripts', 'register_my_scripts' );

Если вы используете скрипт в комплекте с WordPress скриптом, таким как jQuery, то регистрировать его не нужно. Просто поставьте его в очередь следующим образом:

PHP

function register_my_scripts() {
wp_enqueue_script( 'my_script', plugins_url( '/js/script.js', __FILE__ ), 'jquery', , 'true' );
}
add_action( 'wp_enqueue_scripts', 'register_my_scripts' );

6 thoughts on “Функции вывода в WordPress”

  1. Уведомление: hydroxychloroquine 200 mg mexico

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *