2.6 Определение плагинов и директорий контента

При разработке плагинов WordPress вам часто нужно ссылаться на различные файлы и папки в процессе установки WordPress и в вашем плагине или теме.

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

WordPress позволяет пользователям размещать каталог wp-content в любом месте и переименовывать его по своему усмотрению. Никогда не думайте, что плагины будут в wp-content/plugins, загрузки будут в wp-content/uploads, или что темы будут в wp-content/themes.

Волшебная константа PHP __FILE__ автоматически разрешает символические ссылки, поэтому, если символические ссылки содержат wp-content или wp-content/plugins или даже отдельный каталог плагинов, жестко закодированные пути не будут правильно работать.

Основное использование

Если ваш плагин содержит файлы JavaScript, CSS-файлы или другие внешние файлы, вероятно, вам понадобится URL-адрес этих файлов, чтобы вы могли загрузить их на страницу. Для этого вы должны использовать функцию plugins_url() следующим образом:

plugins_url( 'myscript.js', _FILE_ );

Это вернет полный URL-адрес файла myscript.js, например:

example.com/wp-content/plugins/myplugin/myscript.js

Чтобы загрузить JavaScript или CSS ваших плагинов на страницу, вы должны использовать wp_enqueue_script() или wp_enqueue_style() соответственно, передавая результат plugins_url() в качестве URL файла.

Доступные функции

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

Плагины

plugins_url()
plugin_dir_url()
plugin_dir_path()
plugin_basename()

Темы

get_template_directory_uri()
get_stylesheet_directory_uri()
get_stylesheet_uri()
get_theme_root_uri()
get_theme_root()
get_theme_roots()
get_stylesheet_directory()
get_template_directory()

Главная страница

home_url()
get_home_path()

WordPress

admin_url()
site_url()
content_url()
includes_url()
wp_upload_dir()

Мультисайт

get_admin_url()
get_home_url()
get_site_url()
network_admin_url()
network_site_url()
network_home_url()

Константы

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

WP_CONTENT_DIR  // без косой черты, только полные пути
WP_CONTENT_URL  // полный url 
WP_PLUGIN_DIR  // полный путь, без косой черты
WP_PLUGIN_URL  // полный URL, без косой черты
// Доступно по умолчанию в Мультисайт, не устанавливается при установке на одном сайте
// Может использоваться в одиночной установке сайта (как обычно: на свой страх и риск)
UPLOADS // (Если установлено, загружает папку относительно ABSPATH) (например: /wp-content/uploads)

По теме

Каталоги WordPress:

Каталоги WordPress:
home_url() Домашний URL http://www.example.com
site_url() URL каталога сайта http://www.example.com или http://www.example.com/wordpress
admin_url() URL каталога администратора http://www.example.com/wp-admin
includes_url() URL-адрес каталога includes http://www.example.com/wp-includes
content_url() URL каталога содержимого (content) http://www.example.com/wp-content
plugins_url() URL каталога плагинов http://www.example.com/wp-content/plugins
wp_upload_dir() URL каталог uploads (возвращает массив) http://www.example.com/wp-content/uploads

Наверх ↑