Как сделать запрос Http для php-файла, присутствующего в каталоге плагинов wordpress

Я новичок в разработке плагина wordpress, и я разрабатываю плагин (скажем, myplugin), и я застрял в следующей проблеме.

Я сохранил этот плагин в mywebsite / wp-content / plugin / myplugin

Внутри каталога myplugin у меня есть 2 файла следующим образом

  1. myplugin.php
  2. registration.php

Теперь я хочу сделать HTTP-запрос выше зарегистрированного.php из мобильного приложения. Когда я отправил почтовый запрос на http: //mywebsite/wp-content/plugin/myplugin/registration.php, он всегда говорит, что файл не найден. Как я могу сделать запрос.

Это неправильный способ сделать. Если да, то кто-нибудь поможет мне, как это сделать …

Любая помощь приветствуется.

Solutions Collecting From Web of "Как сделать запрос Http для php-файла, присутствующего в каталоге плагинов wordpress"

Вот быстрый и грязный плагин, который показывает вам, как это сделать (адаптируйте этот пример к своей собственной архитектуре и потребностям):

<?php /* Plugin Name: Custom rewrite rule test */ add_action( 'plugins_loaded', array(Registration::get_instance(), 'setup') ); class Registration { protected static $instance = NULL; public function __construct() {} public static function get_instance() { NULL === self::$instance and self::$instance = new self; return self::$instance; } public function setup() { add_action('init', array($this, 'rewrite_rules')); add_filter('query_vars', array($this, 'query_vars'), 10, 1); add_action('parse_request', array($this, 'parse_request'), 10, 1); register_activation_hook(__FILE__, array($this, 'flush_rules' )); } public function rewrite_rules(){ add_rewrite_rule('registration/?$', 'index.php?registration=true', 'top'); } public function flush_rules(){ $this->rewrite_rules(); flush_rewrite_rules(); } public function query_vars($vars){ $vars[] = 'registration'; return $vars; } public function parse_request($wp){ if ( array_key_exists( 'registration', $wp->query_vars ) ){ include plugin_dir_path(__FILE__) . 'registration.php'; exit(); } } } 
  • зарегистрируйте свое пользовательское правило перезаписи «Регистрация», используя add_rewrite_rule()
  • добавьте настраиваемую переменную запроса "registration"
  • проанализировать запрос, проверить переменную запроса «регистрация», если существует, включить файл registration.php

Преимущество добавления внутреннего правила перезаписи WordPress заключается в том, что среда WordPress будет доступна вам в вашем файле registration.php , например, если вам нужно изменить или извлечь данные из базы данных, которую вы можете.

Пример внутри файла registration.php :

 <?php global $wp, $wpdb; //get query variable: index.php?registration=true var_dump($wp->query_vars['registration']); //true //check if user is logged in if ( is_user_logged_in() ) { //use $wpdb to get results from database etc } //do your registration business logic here etc