Какое новое имя переменной?Используете ли вы JS-фреймворк, такой как jQuery или MooTools?
Почти та же проблема, но я думаю, это связано со значением переменной, а не с именем.Позвольте мне объяснить: я использую пользовательский файл шаблона для включения Ajax (и загружаю wp-blog-header.php), как это делает ваш bloader.php .
Javascript обнаруживает внутренние ссылки (Это обеспечивает совместимость, когда JS не активирован) и конвертирует эти URL-адреса, чтобы они указывали на загрузочный php, например:
var BlogURL = "http://www.domain.com";
var TemplateURL = "http://www.domain.com/wp/wp-content/themes/mytheme";
if(PassedUrl.indexOf("?page_id=") != -1) {
AjaxUrl = PassedUrl.replace(BlogURL + "/?page_id=",TemplateURL + "/pagecontent.php?pageid=");
}
else {
AjaxUrl = PassedUrl.replace(BlogURL + "/",TemplateURL + "/pagecontent.php?pagename=");
}
Затем pagecontent.php обрабатывает переменную строки запроса URL-адреса, чтобы перехватить содержимое.Подлежит включению:
<?PHP define('WP_USE_THEMES', false);
$wp_blogheader = ("../../../wp-blog-header.php");
require_once($wp_blogheader);
if(isset($_GET['pageid'])) {
$pag = $_GET['pageid'];
}
elseif(isset($_GET['pagename'])) {
$pag = $_GET['pagename'];
}
global $post;
// TRANSLATION FUNCTIONS OMITTED
if(isset($_GET['p'])) {
$page_data = get_post( $pag );
}
if(isset($_GET['pageid'])) {
$page_data = get_page( $pag );
}
elseif(isset($_GET['pagename'])) {
if(function_exists('qTranslateSlug_get_page_by_path')) {
$pag = qTranslateSlug_get_page_by_path($pag, $q_config['language']);
$page_data = get_page( $pag );}
else { $page_data = get_page_by_path( $pag );}
}
$content = $page_data->post_content; // Get Content
$title = $page_data->post_title; // Get title
echo do_shortcode($content);
?>
Поскольку я использую плагин qTranslate, чтобы на всех страницах было доступно содержимое на нескольких языках, необходимо проверить некоторые функции.Вот где я получаю 404 ошибки.По сути, функции перевода убирают код языка из переменной имени страницы, переданной в строке URL, чтобы получить страницу по умолчанию (единственную, которая действительно существует).Поэтому этот языковой код хранится и применяется в php для фильтрации содержимого по соответствующему языку (поскольку в pagecontent.php он начинается со значения по умолчанию).
То есть, когда URL-адрес вызова Ajax - www.domain.com / wp / wp-content / themes / mytheme / pagecontent.php? pagename = my_page / my_subpage это работает
, но когда это www.domain.com/wp/wp-content/themes/mytheme/pagecontent.php?pagename=en/my_page/my_subpage выдает ошибку 404. Ничего не отображается.
После некоторого отладочного тестирования единственным отличием было значение переменнойв URL ввод $pag = $_GET['pagename'];
для функции перевода.На самом деле вывод (до запроса БД) такой же, правильный, как и должно быть в соответствии с назначением функции.
Самое странное, что консоль Firebug показывает 404 (как сервер).доступ к журналу), но в необработанном тексте ответа и вкладках html распечатывается правильная страница! Более того, при открытии www.domain.com/wp/wp-content/themes/mytheme/pagecontent.php?pagename= ru / my_page / my_subpage в другом окне, он отображает (журнал статус html 200, а не 404).Очевидно, что изменение переменной «pagename» на «page_name» не имеет никакого эффекта.
Все, что раньше работало нормально до обновления до WP 3.0.1, заставляет меня думать, что мой Javascript и мой пользовательский php для включения / перевода являютсявсе еще правильно, когда что-то в новой версии WP могло бы предварительно проанализировать пользовательскую строку запроса и заблокировать ее в соответствии с критериями страницы по умолчанию.
Однако я все еще не могу понять, как и в каком случаепроблема с php / ошибка в написании 404 XMLHttpRequest.