<?php echo plugins_url().'/jamesplugin/assets/library/classes/process_mailchimp.php';?>
上記はプラグインに保存されているファイルのパスですが、ここで言うテーマにそのファイルを転送したいのですが→
inc/process_mailchimp.php
このplugins_url()
について、そのテーマと同等のものは何ですか?
追加情報を提供する必要がある場合は、お知らせください。
なぜあなたはPHPファイルのパスを印刷しようとしているのかよくわかりません。しかし、テーマと同等の機能を得るには、次のようにします。
get_template_directory_uri();
get_stylesheet_uri();
どちらも末尾のスラッシュがありません。
プラグインやテーマのフォルダからPHPファイルに直接pingしないでください。 PHPファイルを含める(たとえばrequire_once()
を使用する)ことは問題ありませんが、ブラウザから直接アクセスすることはできません。より良い方法は、ファイルが直接アクセスされているかどうかを確認し、アクセスをブロックすることです。
if( !defined( 'ABSPATH' ) ) {
die();
}
ABSPATH
はWordPressで定義された定数で、インストールルートへの絶対パスが含まれています。それが定義されていない場合、それはあなたのファイルがおそらくハッカーによって直接アクセスされていることを意味します。
そのため、代わりにRESTエンドポイントを作成してそれを使用してください。これはあなたのための簡単な例です。
まず、呼び出すエンドポイントを作成します。それはこれと同じくらい簡単です:
add_action( 'rest_api_init', 'my_endpoint' );
function my_endpoint() {
register_rest_route(
'wpnovice/v1', '/my_path/',
array(
'methods' => 'GET',
'callback' => 'wpnovice_callback'
)
);
}
その後、コールバック関数で計算を行い、そこで値を返します。
function wpnovice_callback( $request ){
// Your code here
return $data;
}
最後の段階では、Ajax呼び出しでURLとしてRESTエンドポイントを使用します。これにあなたのURLを設定します。
<?php echo rest_url('/wpnovice/v1/my_path/'); ?>