Ajax-Schleife bei Klick aktualisieren

Ich zeige eine zufällige Post-Schleife auf einer Seite an. Ich möchte einen “Refresh” -Link setzen, um den Inhalt der Schleife über Ajax zu aktualisieren.

Ist das möglich?

Das ist meine Schleife, wenn es hilft:

  • <a href="https://wordpress.stackexchange.com/questions/5155/ajax-loop-refresh-on-click/"> <img src="https://wordpress.stackexchange.com/questions/5155/ajax-loop-refresh-on-click/" alt="" />

Solutions Collecting From Web of "Ajax-Schleife bei Klick aktualisieren"

Sollte nicht zu schwierig sein. Erstens: Erstellen Sie eine Javascript-Datei und fügen Sie Folgendes hinzu:

 jQuery(document).ready(function($){ $('#refresh-links-id').click(function(e){ e.preventDefault(); $.post(ajaxurl,{action:'jpb_random_loop'}, function(data){ $('#content-inner').fadeOut(250).empty().append( data ).fadeIn(250); }); }); }); 

Speichern Sie diese Datei irgendwo in Ihrem Themenverzeichnis (könnte sich auch in einem Unterverzeichnis befinden). Damit dies funktioniert, sollte sich der Refresh-Link nicht in ul#content-inner . Ziemlich grundlegende jQuery post Anruf, obwohl.

Als nächstes fügen Sie dies der Datei functions.php Ihres Themes hinzu:

 function jpb_template_redirect(){ if(  ){ wp_enqueue_script( 'random-loop', '', array( 'jquery' ), '1.0' ); } } function jpb_random_loop_cb(){ query_posts('posts_per_page=20&orderby=rand'); if (have_posts()) : while (have_posts()) : the_post(); ?> 
  • < ?php the_title(); ?> < ?php $articletags = strip_tags(get_the_tag_list('',', ',''));echo $articletags;?>
  • < ?php endwhile; endif; die(); } add_action( 'template_redirect', 'jpb_template_redirect' ); add_action( 'wp_ajax_jpb_random_loop', 'jpb_random_loop_cb' ); add_action( 'wp_ajax_nopriv_jpb_random_loop', 'jpb_random_loop_cb' );

    Das wird alles zusammenbinden. Stellen Sie nur sicher, dass die Logik in der function template_redirect korrekt ist, sodass das Javascript in den richtigen Seiten enthalten ist.

    Dieses Plugin scheint, als würde es tun, was Sie suchen.

    http://wordpress.org/extend/plugins/wp-ajax-random-posts/

    Wenn Sie das Plugin nicht verwenden möchten, können Sie immer den Code für den Aktualisierungslink auschecken und versuchen, ihn für Sie zu nutzen.