私のプラグインの中にAdvanced Custom Fieldsファイルを追加しています。プラグインに含めることの一部は、dirname(__FILE__)
を使用してデフォルトディレクトリを変更することです。
ステップ3では、include_once
は正常に機能します。そのため、ACFは動作しますが、スタイルシートやスクリプトは必要ありません。ステップ1と2で、ACFが要求するスタイルシートとスクリプトについて次のようになるからです。
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://markrummel.com/templates/wp-starter/wp-content/plugins/simple/acf/css/global.css?ver=5.0.0
。
私はMedia Templeのグリッドサーバー(共有ホスティング)を使用しています。
これが私のプラグインの関連コードです。
// 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' );
正しいディレクトリを取得するにはどうすればよいですか?
ステップ2で$dir = plugins_url() . '/simple/acf/';
を使用して問題を解決しました。それ以外はすべて同じです。
// 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;
}