загрузка WordPress ссылок в Div с помощью JQuery - PullRequest
0 голосов
/ 10 августа 2011

я пытаюсь заставить мои ссылки WordPress загружаться в div вместо обновления страницы. попробовал некоторые учебники там, в сети, но они, кажется, не работают (или не полностью)

моя собственная попытка извлекает только мой последний пост каждый раз (он загружается в div, но не генерирует другие посты, кроме последнего, поэтому все ссылки, которые я нажимаю, переходят в тот же пост.

Кто-нибудь понял, почему это не работает?

большое спасибо!

<?php while (have_posts()) : the_post(); ?>

    <div class="WZ-OVER-wereldTitle">
    <a href="<?php the_permalink(); ?>" rel="<?php the_ID(); ?>">
    <?php the_title(); ?>
    </a>
    </div>


<script>
    $(document).ready( function() {
        var postID = $('.WZ-OVER-wereldTitle a').attr('rel');
        $('.WZ-OVER-wereldTitle a').click( function() {
            event.preventDefault();
            $('#content').html('loading...');
            $('#content').load('http://www.weetzelf.nl/?p=' + postID);
            return false;
        });
    });

</script>

<?php endwhile; ?>

Ответы [ 2 ]

0 голосов
/ 10 августа 2011

Главное, что вы делаете неправильно, это здесь:

$('#content').load('http://www.weetzelf.nl/?p=' + postID); 

Что это делает, это загружает ваш контент в ваш #content div.Но метод jQuery load () устанавливает все содержимое своей цели равным тому, что было возвращено из load().Вот почему вы получаете только последнее сообщение - вы фактически загружаете все сообщения успешно, одно за другим, причем каждое новое заменяет то, что вы загрузили в последний раз.

Попробуйте что-то вроде

$('#content').append($('<div>').load('http://www.weetzelf.nl/?p=' + postID));

Это создаст новый элемент div, загрузит контент в , который , и добавит его в #content, вместо замены того, что уже есть.

Однако, еще одна странная вещь, которую вы делаете, это вывод части jQuery несколько раз, потому что она находится внутри цикла php while.Из-за этого, я думаю, вы получите столько копий этого скрипта, сколько существует постов, все они работают при загрузке страницы (одна за другой). Проверьте источник вашего сайта в браузере, чтобы увидеть,Я думаю, вы увидите несколько копий вашего <script> блока.

Чтобы решить эту проблему, переместите часть скрипта за пределы цикла php while.Вам нужна только одна его копия.

0 голосов
/ 10 августа 2011

Вы пытаетесь загрузить внешний (междоменный) запрос, используя .load. Это не сработает.

Альтернатива: используйте плагин Джеймса Падолси и затем вызывайте его Это работает до jquery1.4.4 только

Демо: http://jsfiddle.net/YErfj/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...