Wordpress, Javascript и Php: я помещаю Authenticate-user.php в нужную папку?

Я новичок в разработке PHP и WordPress. На своей странице WordPress я хочу проверить, присутствует ли aff_id в строке запроса моей страницы как пользователь в моей базе данных WordPress с использованием AJAX.

Ниже приведен код JavaScript, который я разместил на своей странице WP с помощью плагина «Сценарии и стили»:

var affId = '';
affId = GetParameterValues('aff_id'); 
if (affId == undefined || affId == '')
  affId = 'AKotawala';
const xhr = new XMLHttpRequest();
xhr.onload = function () {
  alert(this.responseText);
};
xhr.open("POST", "../wp-includes/authenticate-user.php");
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send("username = " + affId);
function GetParameterValues(param) {  
  var url = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');  
  for (var i = 0; i < url.length; i++) {  
    var urlparam = url[i].split('=');  
    if (urlparam[0] == param) {  
      return urlparam[1];  
    }  
  }  
}

А вот мой PHP-код

Authenticate-user.php

<?php  
$username = $_POST['username'];
if (my_username_exists($username))
  echo "Exist";
else
  echo "NotExist";
function my_username_exists($username) {
  global $wpdb;
  $count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(user_login) FROM $wpdb->users WHERE user_login = %s", $username));
  return empty( $count ) || 1 > $count ? false : true;
}
?>

Когда страница загружается, мое окно предупреждения пусто.

Что я делаю неправильно?

Когда я жестко кодирую переменную $username в моем PHP и запускаю файл как mydomain.com/wp-includes/authenticate-user.php, он возвращает пустую страницу.

Я помещаю authenticate-user.php в нужную папку?
Если да, то какой должен быть URL-адрес, который я должен передать моей функции AJAX в JS?

Не используйте ajax в WordPress таким образом, попробуйте вместо этого ссылка на сайт

Shahin 13.01.2019 06:30
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
1
77
1

Ответы 1

попробуйте включить это в свой файл authenticate-user.php и поместить файл в корневой каталог.

require_once(dirname(__FILE__) . '/wp-config.php');

или укажите относительный путь из текущего каталога

require_once(dirname(__FILE__) . '../wp-config.php');

проверил и обновил код ... проверьте это в своем коде

Yasii 13.01.2019 20:46

Другие вопросы по теме