Dans mon plugin, j'ajoute les fichiers Advanced Custom Fields. Une partie de son inclusion dans le plugin consiste à modifier les répertoires par défaut à l'aide de dirname(__FILE__)
.
À l'étape 3, include_once
fonctionne bien. Donc, ACF fonctionne, mais sans feuilles de style ni scripts, car aux étapes 1 et 2, je reçois les éléments suivants pour les feuilles de style et les scripts qu'Enques a définis:
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
C'est ce que j'aimerais avoir:
http://markrummel.com/templates/wp-starter/wp-content/plugins/simple/acf/css/global.css?ver=5.0.0
.
J'utilise le serveur de grille de Media Temple (hébergement partagé).
Voici le code correspondant de mon plugin:
// 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' );
Comment puis-je obtenir le bon répertoire?
J'ai résolu le problème en utilisant $dir = plugins_url() . '/simple/acf/';
à l'étape 2. J'ai gardé tout le reste identique.
// 2. Customize ACF dir
add_filter('acf/settings/dir', 'my_acf_settings_dir');
function my_acf_settings_dir( $dir ) {
// update path
$dir = plugins_url() . '/simple/acf/';
// return
return $dir;
}