При разработке плагинов WordPress вам часто нужно ссылаться на различные файлы и папки в процессе установки WordPress и в вашем плагине или теме.
WordPress предоставляет несколько функций для простого определения того, где находится данный файл или каталог. Всегда используйте эти функции в своих плагинах вместо того, чтобы жестко кодировать ссылки на каталог wp-content или использовать внутренние константы WordPress.
Волшебная константа 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 |