Функции вывода в 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' );

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

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