Ну, благодаря удаче и кофе с сигаретами мне удалось решить проблему:
Вот что я сделал:
1. Проверьте, зафиксирован ли идентификатор записи в атрибуте rel и правильно ли он загружен в переменную post_id
Я вставил предупреждающий обратный вызов во фрагмент AJAX / JQUERY, чтобы посмотреть, загружался ли даже идентификатор записи в переменную post_id справа. Вот как это выглядело:
$(document).ready(function(){
$.ajaxSetup({cache:false});
$(".trick").click(function(){
var post_id = $(this).attr("rel");
alert(post_id);
$("#single-home-container").html("loading...");
$("#single-home-container").load("http://<?php echo $_SERVER[HTTP_HOST]; ?>/single-home/",{id:post_id});
return false;
});
});
Поэтому, когда я нажал на ссылку, при обратном звонке был указан точный идентификатор сообщения, связанного с сообщением. Это как бы изолировало проблему вплоть до URL, определенного в функции .load (). Казалось, что идентификатора сообщения было недостаточно для загрузки сообщения в определенный DIV.
2. Изменить атрибут rel ссылки с идентификатора сообщения на постоянную ссылку сообщения
Я решил, что, поскольку идентификатор сообщения явно не работает, я вместо этого использовал бы постоянную ссылку на сообщение в атрибуте rel ссылки. Вот как выглядела ссылка ранее:
<a class="trick" rel="<?php the_ID(); ?>" href="<?php the_permalink();?>"></a>
А вот как это выглядит сейчас:
<a class="trick" rel="<?php the_permalink ?>" href="<?php the_permalink();?>"></a>
3. Редактировать .load () функция URL / значение
После этого мне пришлось внести изменения в фрагмент кода AJAX / JQUERY, чтобы он больше не использовал идентификатор записи:
$(document).ready(function(){
$.ajaxSetup({cache:false});
$(".trick").click(function(){
var post_link = $(this).attr("rel");
$("#single-home-container").html("loading...");
$("#single-home-container").load(post_link);
return false;
});
});
Как видно из вышесказанного, я взял значение атрибута rel ссылки (которое теперь является постоянной ссылкой сообщения) и бросил его в переменную post_link. Это позволяет мне просто взять эту переменную и поместить ее в функцию .load (), заменив http://<?php echo $_SERVER[HTTP_HOST]; ?>/single-home/",{id:post_id}
, который явно не работал.
VOILA! Проблема решена.
Хотя мне еще предстоит проверить это, я считаю, что использование постоянной ссылки в этом случае фактически исключает необходимость изменения структуры постоянной ссылки в Wordpress, как это указывал Эмануэле Феронато в своем посте .
Так что, если у кого-то есть намерение динамически загружать записи Wordpress в определенный DIV, вы, вероятно, можете попробовать это!