Правильное обращения к файлам через Ajax
-
Здравствуйте уважаемые программисты,
возникла такая проблема.
Хочу сделать сайт используя Ajax, что бы переход по сыллка не перезагрежал страницу целиком. Ajax имеет направления на различные файлы которые лежат в теме WordPress. Беда в том что когда он переходит на эти файлы у меня пропадают стандартные WordPress функции. К примеру спазу выдаёт ошибку о неизвестрой функции add_action() и все другие родные функции Worpdress.
Файлы созданные мною я делал как шаблон так и без шаблона. К примеру:
[PHP]<?php/*Template Name: Add cart*/?>[/PHP] — И создаю новую страницу с этим шаблоном. Все функции которые я написал сам в functions.php работают, но не работают функции WordPress.
Я предполагаю что дело может быть с Ajax, так как после него теряются функции WordPress.
Подскажите что я делаю не так или как правельно надо использовать свой Ajax в WordPress.
Немного кода который я использую для Ajax:
header.php
[B]Беру библеотеку Ajax[/B]
<script type=»text/javascript» src=»//code.jquery.com/jquery-2.1.0.min.js»></script>
[B]Файл js.js содержит функции которые Ajax обрабатывает[/B]
<script type=»text/javascript» src=»wp-content/themes/fragrance/js.js»></script>Далее файл js.js и одна из функций:
[JS]function add_cart(name)
{
var id_item = $(«input[name=id_item»+name+»]»).val() //item id
var count = $(«input[name=count»+name+»]»).val() // Count
var price = $(«input[name=price»+name+»]»).val() // price$.ajax({
type: «POST»,
url: «wp-content/themes/twentytwelve/Shop/add_cart.php»,
data: {id_item: id_item,
count: count,
price:price
},
success: function(data) {
$(‘#add_cart’).html(data);
}
});
}[/JS]
Данная функция получает данные которые передаются на данные момент из index.php, тут нету проблем у меня точно. Функция вызова функции из js.js:
[PHP]» onclick=»add_cart(this.id)»>[/PHP]Далее я иду в url: «wp-content/themes/twentytwelve/Shop/add_cart.php»,
где отлавливаю $_POST ( тут тоже всё нормально ), но именно начиная уже с этого файла я получаю ошибку:
Fatal error: Call to undefined function add_action()……
Файл add_cart.php — Я сделал как шаблон так и не шаблон, результат один и тот же.
Сам файл add_cart.php сожержит следующие:
[PHP]$id_item1 = $_POST[‘id_item’];
$count1 = $_POST[‘count’];
$price1 = $_POST[‘price’];
include «../functions.php»;
$Shop = new Shop();
$Shop->add_cart($id_item1,$count1,$price1,$Shop->get_id());[/PHP]
Получается, когда он открывает functions.php он уже не видит родных функций WordPress.
Предполагаю что Ajax я используюнеправильно в данной ситуации.Буду рад любым советам.
СпасибоВопрос касается блога (видны только вошедшим пользователям).
-
Пока пошел таким путём
require_once( $_SERVER[‘DOCUMENT_ROOT’] . ‘/wp-load.php’ );
- Форум «Правильное обращения к файлам через Ajax» закрыт для новых ответов.