Я попытался сделать вызов ajax в моем цикле wordpress, в основном я хотел бы загрузить содержимое сообщения на домашней странице в div после нажатия на заголовок. вызов ajax кажется сработавшим, но у меня есть проблема с загрузкой всей страницы, и я бы хотел загрузить только содержимое div с определенным идентификатором.wordpress ajax call single post
это мой код: index.php
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<a class="post-link" rel="<?php the_ID(); ?>" href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
<?php endwhile; endif; ?>
<div id="single-post-container"></div>
это single.php
<?php $post = get_post($_POST['id']); ?>
<div id="single-post post-<?php the_ID(); ?>">
<?php while (have_posts()) : the_post(); ?>
<?php the_title();?>
<?php the_content();?>
<?php endwhile;?>
</div>
и это JS
jQuery(document).ready(function(){
jQuery.ajaxSetup({cache:false});
jQuery(".post-link").click(function(){
var post_link = jQuery(this).attr("href");
jQuery("#single-post-container").html("content loading");
jQuery("#single-post-container").load(post_link);
return false;
});
});
я пытался добавить идентификатор # single post после post_link вот так:
jQuery("#single-post-container").load(post_link #single-post);
, но когда я запускаю gulp, у меня есть ошибка, которая блокирует меня. Как я могу достичь этой области?
Кто-то может дать мне помощь или предложение?
что POST_LINK? Каков фактический URL-адрес вашего вызова AJAX? Если вы просто вызываете single.php, первое, что делает, это call header() - следовательно, вы можете получить всю страницу. Но я, возможно, ошибаюсь. –
post_link - это URL сообщения, которое я нажимаю. (например, http: // localhost: 8888/blog/title-post /). attr («href») ссылки – mattia
Итак, было бы то же самое, если бы вы вошли в адресную строку в своем браузере, вы увидите всю страницу - сообщение и заголовки и т. д.? –