Intereting Posts
Есть ли действие для save_menu и / или update_menu? Как сделать область нижнего колонтитула прозрачной? Использование Avada и WordPress Возможно ли изменить атрибуты зарегистрированного стиля или скрипта до его возникновения? htaccess redirect – каталог и подстраницы на одну страницу Как создать меню на четыре строки, включая изображения Почему post__not_in игнорируется? Как запрашивать пользовательские сообщения с использованием динамической категории разрешить BOTH сообщение slug и значение мета-ключа в permalink для пользовательского типа сообщения Уместно ли удалять пользовательские сообщения и условия удаления плагина? Как просмотреть все миниатюры, созданные WP, в Media Manager? Что такое template-name.php Кнопка «Loadmore» не работает в buddypress Пользовательский столбец для изменения статуса сообщения через ajax Изменение классов меню навигации с помощью Walker Выделите wp_nav_menu, когда выбрана категория

Как преобразовать путь к URL-адресу того же файла?

Как преобразовать путь к файловой системе в URL? Я нашел некоторые общие PHP-решения, которые могут быть подвержены ошибкам.

Есть ли какой-то специальный способ WordPress?

Solutions Collecting From Web of "Как преобразовать путь к URL-адресу того же файла?"

Вид зависит от того, где вы находитесь в среде WordPress.

Плагины

Если вы находитесь в плагине, вы можете использовать plugins_url .

 <?php $url = plugins_url('css/admin.css', __FILE__); 

Вышеупомянутый даст вам путь относительно файла, переданного во второй аргумент. Поэтому, если вы находитесь в главном файле плагина, вы можете получить что-то вроде http://example.com/wp-content/plugins/your-plugin/css/admin.css .

Также есть plugin_dir_url чтобы получить URL-адрес каталога. Один довольно распространенный шаблон – определить константу с вашим URL-адресом плагина в главном файле плагина.

 <?php /** plugin name: wpse216913 example */ define('WPSE216913_PLUGINURL', plugin_dir_url(__FILE__)); // wp_enqueue_style('example', WPSE216913_PLUGINURL.'css/admin.css'); 

Темы

С другой стороны, темы должны использовать get_template_directory_uri или get_stylesheet_directory_uri .

get_template_directory_uri вернет каталог URI родительской темы, если есть родительская тема. get_stylesheet_directory_uri вернет URI дочерней темы, если есть get_stylesheet_directory_uri тема, иначе родительская тема. Прочтите код, чтобы узнать больше о различиях. В двадцать пятнадцатой теме есть примеры того, как они используются.

 wp_enqueue_style( 'twentyfifteen-ie', get_template_directory_uri().'/css/ie.css', array('twentyfifteen-style'), '20141010' ); 

Загрузки

Используйте wp_get_attachment_image_src для загруженных изображений. Возвращаемое значение также будет содержать ширину и высоту изображения. Это также позволит вам сказать, какой размер вы хотите.

Или есть wp_get_attachment_url чтобы получить URL-адрес прикрепленного файла, который был загружен. Если используется на изображениях, это вернет URL исходного изображения.

Если вам нужен URL (или путь) каталога загрузки, чтобы вы могли делать что-то вроде пользовательской загрузки или иным образом, вы можете использовать wp_upload_dir который возвращает массив со всей необходимой информацией.

 print_r(wp_upload_dir()) /* Array ( [path] => /path/to/wordpress/wp-content/uploads/2016/02 [url] => http://example.com/wp-content/uploads/2016/02 [subdir] => /2016/02 [basedir] => /path/to/wordpress/wp-content/uploads [baseurl] => http://example.com/wp-content/uploads [error] => false ) */ 

Другие полезные функции URL

Все они имеют одну и ту же подпись, urlFunc($path, $scheme) , и оба аргумента являются опционными.

home_url возвращает путь относительно домашней страницы сайта.

 echo home_url('/example'); // http://example.com/example 

site_url возвращает URL-адрес относительно файлов ядра WordPress. Скажем, у вас был WordPress в каталоге wp

 echo site_url('/example'); // http://example.com/wp/example 

admin_url возвращает URL-адрес относительно пути wp-admin . Полезно, когда вам нужен путь к admin-ajax.php , например.

 echo admin_url('admin-ajax.php'); // http://example.com/wp/wp-admin/admin-ajax.php 

Есть еще несколько таких, как content_url и includes_url которые возвращают пути к содержимому WP и включают в себя каталоги (или пути относительно них) соответственно.

Или глобальные

 function abs_path_to_url( $path = '' ) { $url = str_replace( wp_normalize_path( untrailingslashit( ABSPATH ) ), site_url(), wp_normalize_path( $path ) ); return esc_url_raw( $url ); } 

В теме, если вы хотите буквально преобразовать путь файловой системы к URL-адресу для данного файла, вы должны сделать следующее:

$url = str_replace( get_stylesheet_directory(), get_stylesheet_directory_uri(), $systempath);