Я добавляю Advanced Custom Fields Pro (v5) к простому плагину, который я создаю.Дополнительные пользовательские поля: dirname (__FILE__), возвращающий неверный URL-адрес на общем сервере для CSS и JS, включает
Я использую учебное пособие на веб-сайте ACF: Distributing ACF in a plugin/theme. Учебное пособие требует использования get_stylesheet_directory()
, но это для темы. Я заменил его на dirname(__FILE__)
.
На этапе 3 include_once
работает нормально с dirname(__FILE__)
. Шаги 1 и 2 также работают для включения файлов, но я столкнулся с проблемой, когда файлы Javascript и CSS включены в ACF. Она возвращает URL, как следующие:
http://example.com/templates/wp-starter/nfs/c05/h03/mnt/70376/domains/example.com/html/templates/wp-starter/wp-content/plugins/simple/acf/css/global.css?ver=5.0.0
Это то, что я хотел бы получить:
http://example.com/templates/wp-starter/wp-content/plugins/simple/acf/css/global.css?ver=5.0.0.
Я использую сервер сетки медиа Храма (общий хостинг).
Вот соответствующий код из plugins/simple/simple.php
:
// 1. Customize ACF path
add_filter('acf/settings/path', 'my_acf_settings_path');
function my_acf_settings_path($path) {
// update path
$path = dirname(__FILE__) . '/acf/';
// return
return $path;
}
// 2. Customize ACF dir
add_filter('acf/settings/dir', 'my_acf_settings_dir');
function my_acf_settings_dir($dir) {
// update path
$dir = dirname(__FILE__) . '/acf/';
// return
return $dir;
}
// 3. Include ACF
include_once(dirname(__FILE__) . '/acf/acf.php');
Как я могу получить правильный URL для скриптов и таблиц стилей?
Я попытался с помощью следующих в config.php
, но это не сработало:
define('WP_CONTENT_DIR', 'http://example.com/templates/wp-starter/wp-content');
define('WP_PLUGIN_DIR', 'http://example.com/templates/wp-starter/wp-content/plugins');
enqueue
я мог эти сценарии и таблицы стилей по отдельности, но было бы неплохо, если бы я не должен делать что.
возможно дубликат [$ \ _ SERVER \ [ 'ДОКУМЕНТ \ _root' \] возвращает путь с повторным именем каталога] (http://stackoverflow.com/questions/24123839/serverdocument-root-returns- path-with-repeat-directory-name) ... Возможно, связанный, DOCUMENT_ROOT может быть перекошен неправильно настроенным apache – AeroX