<?php echo plugins_url().'/jamesplugin/assets/library/classes/process_mailchimp.php';?>
Ce qui précède est le chemin d’un fichier conservé dans un plugin, mais je souhaite transférer ce fichier dans un thème, par exemple ici →
inc/process_mailchimp.php
Pour cette plugins_url()
quel sera son équivalent de thème?
S'il vous plaît laissez-moi savoir si j'ai besoin de vous fournir des informations supplémentaires.
Je ne suis pas sûr de savoir pourquoi essayez-vous d'imprimer le chemin du fichier PHP, car ce n'est pas une bonne pratique. Mais pour obtenir la fonction équivalente pour les thèmes, vous pouvez utiliser:
get_template_directory_uri();
get_stylesheet_uri();
Les deux sont sans slash.
Ne cinglez pas un fichier PHP directement à partir du dossier de votre plugin ou de votre thème. L'inclusion d'un fichier PHP (par exemple, à l'aide de require_once()
) convient, mais son accès direct par le navigateur ne vous convient pas. La meilleure pratique est même de vérifier si le fichier est directement accédé et de bloquer l'accès:
if( !defined( 'ABSPATH' ) ) {
die();
}
ABSPATH
est une constante, définie par WordPress, qui contient le chemin d'accès absolu à la racine de votre installation. Si ce n'est pas défini, cela signifie que votre fichier est accédé directement, peut-être par un pirate informatique.
Créez donc un noeud final REST et utilisez-le. Voici un exemple simple pour vous.
Commencez par créer un terminal à appeler. C'est aussi simple que cela:
add_action( 'rest_api_init', 'my_endpoint' );
function my_endpoint() {
register_rest_route(
'wpnovice/v1', '/my_path/',
array(
'methods' => 'GET',
'callback' => 'wpnovice_callback'
)
);
}
Ensuite, effectuez le calcul dans votre fonction de rappel et renvoyez la valeur à cet endroit:
function wpnovice_callback( $request ){
// Your code here
return $data;
}
La dernière étape consiste à utiliser le noeud final REST _ en tant qu'URL dans votre appel Ajax. Définissez votre URL sur ceci:
<?php echo rest_url('/wpnovice/v1/my_path/'); ?>