content_url() – возвращает абсолютный URL папки wp-content на сайте

Прежде всего — что такое wp-content?

Это такая папка (директория), которая находится прямо в директории установки WordPress:

директория wp-content и её содержимое в WordPress

Как видно по скриншоту, в wp-content содержатся некоторые другие папки, а именно:

  • plugins — папка с установленными на сайте плагинами,
  • themes — с темами соответственно,
  • upgrade — нужна при обновлении движка, плагинов и тем,
  • uploads — папка с медиафайлами сайта, в некоторых случаях может быть переназначена.

С wp-content разобрались, теперь переходим собственно к функции WordPress content_url().

Она возвращает абсолютный URL к wp-content на сайте.

Протокол соединения (то есть http:// или https://) определяется функцией is_ssl().

content_url( $path = '' )
$path
(строка) (параметр не обязателен) Какой-нибудь дополнительный путь относительно директории wp-content, например к папке тем (/themes/) или плагинов plugins.

Относительно слэшей можете не беспокоиться, функция автоматически удаляет левый слэш (если такой имеется, php-функцией ltrim()) и затем добавляет его сама.

Если в качестве параметра передано не строковое значение (массив, объект и так далее), то он просто будет проигнорирован.

Примеры использования функции content_url()

Несколько нехитрых примеров:

// в качестве примера возьму свой сайт https://truemisha.ru
echo content_url(); // https://truemisha.ru/wp-content/
$additional_path = '/themes/'; // путь к папке с темами
$url = content_url( $additional_path );
echo $url; // https://truemisha.ru/wp-content/themes/
$additional_path = 'themes/'; // тоже путь к папке с темами, но только без слэша в начале
$url = content_url( $additional_path );
echo $url; // https://truemisha.ru/wp-content/themes/ - результат тот же

Вкратце про фильтр content_url

При помощи этого фильтра вы можете изменить возвращаемые значения всех функций content_url() на сайте. Для этого в functions.php вставляем код примерно следующего содержимого:

function true_change_wp_content_url( $url, $path ) {
	// как видите фильтр позволяет оперировать параметрами $url (результат действия функции) и $path (описано выше)
	// есть люди, которые полностью скрывают следы использования WordPress, в том числе переименовывают папку wp-content
	return str_replace('wp-content', 'misha-content', $url);
}
 
add_filter( 'content_url', 'true_change_wp_content_url', 10, 2);

Комментарии 2

  • Vovasik25 мая 2015 в 21:05 #

    Правда где применять все это не понятно есть же plugin_dir_path_url() и get_stylesheet_directory_uri() разве что к директории Кеша какой нибудь доступиться

    • Миша26 мая 2015 в 08:05 #

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

Оставить комментарий / вопрос

phpjsHTMLCSSSQLПросто код
  Для того, чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или авторизуйтесь на сайте.
  • Миша: Привет ещё раз, не поверишь, реально не сталкивался с этим вопросом. По теории можно сказать следующее: во-первых,...

  • Миша: Привет, вообще без проблем, делаешь всё через require(), require_once() - выбирай любую, какая больше нравится.

  • Виталий Моргунов: Привет! Не могу разобаться, как я могу контролировать порядок подключения стилей. В моем случае мне нужно чтобы стили...

  • Миша: Спасибо!

  • w0rmak: Это было просто. Нашел код в интернете. Добавьте и себе ymaps.load(function () { var input = document.getElem...