mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 19.04.2024 15:59 Benutzername: Passwort: Auto-Login

Thema: Wordpress: Probleme einen Post über Ajax zu laden vom 15.02.2012


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Wordpress: Probleme einen Post über Ajax zu laden
Autor Nachricht
vayu
Threadersteller

Dabei seit: 09.05.2009
Ort: Berlin
Alter: 46
Geschlecht: Männlich
Verfasst Mi 15.02.2012 04:24
Titel

Wordpress: Probleme einen Post über Ajax zu laden

Antworten mit Zitat Zum Seitenanfang

Ich versuche bei Wordpress (eigenes Theme) einzelne Posts über Ajax zu laden. Die Seite soll sich nicht neu laden, wenn der nächste Post abgerufen wird.

Der "previous_posts_link" und der "next_posts_link" funktioniert nicht richtig. Ich vermute ich mache beim Loop etwas falsch.

Folgendes passiert: beim kicken auf "weiter" wird der gleiche Post geladen und die Pagenavigation verschwindet.

Vielleicht hat einer eine idee.

Hier der Link: (den Bereich der neu laden soll findet man unter "Newsroom")
http://beta.sitgermany.com/

Code:

         <div class="newsroompost" id="contento">
       
           <?php
              $random_query = new WP_Query(array(
              'showposts' => 1,
              'posts_per_page' => 1,
              'orderby' => 'date',
              'cat' => '4',
              'paged' => get_query_var( 'paged' )
              ));
              while ($random_query->have_posts()) : $random_query->the_post(); ?>
               
           
               
            <div id="slider1">
                <h1 class="newsroomhead"><?php the_title(); ?></h1>
                <h5 class="newsroomdatumd"><?php the_time("d.m.Y") ?></h1><br/>
                <div class="newsexconten"><?php the_excerpt(); ?></div>
                <div class="rechtsruck"><a class="iframe postnewsroom" href="<?php echo get_permalink(); ?>">mehr...</a></div>
            </div><!-- slider1 -->
       
       
                <ul id='postPagination'>
            <li><?php previous_posts_link('zurück', 4) ?></li>
            <li><?php next_posts_link('weiter', 4); ?></li>
            </ul>

         
         <?php endwhile; ?>


      </div><!-- newsroompost -->


Hier das Javascript:

Code:


<script type="text/javascript" charset="utf-8">
jQuery(document).ready(function(){

   jQuery('#postPagination a').live('click', function(e){
      e.preventDefault();
      var link = jQuery(this).attr('href');
      jQuery('#contento').html('Loading...');
      jQuery('#contento').load(link+' #slider1');

   });

});


</script>
  View user's profile Private Nachricht senden
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Mi 15.02.2012 13:34
Titel

Antworten mit Zitat Zum Seitenanfang

Du überschreibst den Inhalt der von #contento mit dem inhalt von #slider1. Richtig wäre ihn aber wieder mit dem Inhalt von #contento zu überschreiben, da dieser Container ja auch die Navigation beinhaltet. Zudem würde ich in diesem Fall das Caching der AJAX-Requests abschalten:

Code:
jQuery(document).ready(function(){
   // caching für ajax-requests deaktivieren
   $.ajaxSetup({
      cache : false
   })
      jQuery('#postPagination')
      .delegate('a','click', function(e){
            e.preventDefault();
            var link = jQuery(this).attr('href');
            jQuery('#contento')
               .html('Loading...')
               .load(link + ' #contento');
      });

});
  View user's profile Private Nachricht senden
Anzeige
Anzeige
vayu
Threadersteller

Dabei seit: 09.05.2009
Ort: Berlin
Alter: 46
Geschlecht: Männlich
Verfasst Mi 15.02.2012 16:14
Titel

Das ist nicht das Problem

Antworten mit Zitat Zum Seitenanfang

ich habe es eingebaut, aber leider hier auch ohne erfolg. ich glaube es liegt am loop, da komme ich nicht weiter und da reichen meine Kenntnisse nicht mehr aus.
  View user's profile Private Nachricht senden
WebRex

Dabei seit: 26.07.2011
Ort: -
Alter: 29
Geschlecht: Männlich
Verfasst Mi 15.02.2012 18:03
Titel

Antworten mit Zitat Zum Seitenanfang

Soll dieser "weiter" und "zurück" Link denn nach jedem News-Artikel erscheinen? Wenn ich für WP Templates schreibe, dann setze ich diese beiden Links außerhalb der Schleife.

Achja, anstatt jQuery.delegate() verwendet man nun jQuery.on().
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
sahnemuh

Dabei seit: 19.06.2003
Ort: /dev/null
Alter: 42
Geschlecht: Männlich
Verfasst Mi 15.02.2012 19:28
Titel

Antworten mit Zitat Zum Seitenanfang

@WebRex: aber nicht mit dem - in dem beispiel eingebundenen - jquery 1.6 *pah* Grins

ontopic: ich hatte nur bezug auf dein javascript problem genommen und den rest geflissentlich überlesen.
wenn du tatsächlich jeweils den vorigen bzw. nächsten post laden willst, ist die funktion previous_post_link bzw. next_post_link (also singular... ohne "s") dein freund: http://codex.wordpress.org/Function_Reference/previous_post_link - der link muss jeweils innerhalb deines "the_loop" gesetzt werden (also eigentlich alles richtig, bis auf das "s" zu viel). das nächste problem ist dein query: du holst als "$random_query" immer genau einen post, geordnet nach datum. damit bekommst du immer... den neusten Lächel. zusätzlich holst du dir übrigens bei jedem request der die news lädt die komplette seite noch ein mal. dabei entsteht äußerst viel "overhead". am charmantesten wäre eigentlich wenn du einen eigenen seitentyp bzw. ein eigenes template für die news anlegst, welches tatsächlich nur den relevanten inhalt enthält und das per ajax geladen wird. eine (mehr oder weniger gute) anleitung wie du sowas umsetzt findest du hier: http://www.emanueleferonato.com/2010/04/01/loading-wordpress-posts-with-ajax-and-jquery/


Zuletzt bearbeitet von sahnemuh am Mi 15.02.2012 19:29, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
vayu
Threadersteller

Dabei seit: 09.05.2009
Ort: Berlin
Alter: 46
Geschlecht: Männlich
Verfasst Do 16.02.2012 02:02
Titel

ich versuche das mal und melde mich

Antworten mit Zitat Zum Seitenanfang

ich versuche das mal und melde mich, wie es läuft
  View user's profile Private Nachricht senden
 
Ähnliche Themen [AJAX] jQuery Post-Formular
Ajax: Content in nur ein Div laden
Animation & AJAX-Content laden?
WordPress-Plugin: AJAX Umfrage
Buchempfehlungen WordPress / AJAX / jQUERY
wordpress single post design
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.