Datei per Ajax mit Delay nachladen

  • Hallo Leute, ich möchte in meinen Blog eine Datei per Ajax mit einem Delay nachladen. Den Ajax-Code den ich dazu benutzen wollte funktioniert aber leider nicht wie gewollt. Gibt es hier vielleicht einen Ajax-Spezialisten der auf Anhieb den Fehler sieht?! :confused:

    Danke und Gruß

    „Werbung, insbesondere kommerzielle, ist sowohl in Signaturen als auch Beiträgen ohne vorherige Genehmigung des Betreibers verboten. Bei Zuwiderhandlung behalten wir uns vor die Beiträge zu löschen und den entsprechenden User zu sperren.“ (Aus den WPDE.org Nutzungsbedingungen)

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hallo

    Ich kenne jetzt das qtip PlugIn nicht wirklich, aber versuche es mal damit:

    Code
    $('a.ajax').qtip({
          content: {
            text: 'Loading...', // The text to use whilst the AJAX request is loading
            url: 'http://www.*****.de/wp-content/themes/*****/footer.php', // URL to the local file
            type: 'GET' // POST or GET
          },
          show: {
            delay: 2000
          }
        });

    Das gtip-PlugIn ist auch richtig geladen?
    Eventuell mal mit qtip2 probieren.
    Was sagt denn die Console des Browsers, welcher Fehler auftritt?

    LG, pixselig

  • Sorry für die späte Antwort,

    ich habe es mit [COLOR=#333333]qtip und [/COLOR][COLOR=#333333]qtip2 probiert.
    Die Console sagt "[/COLOR]Uncaught TypeError: undefined is not a function[COLOR=#333333]" scheinbar scheint die Definition a.ajax ein Problem zu sein.

    [/COLOR]

    „Werbung, insbesondere kommerzielle, ist sowohl in Signaturen als auch Beiträgen ohne vorherige Genehmigung des Betreibers verboten. Bei Zuwiderhandlung behalten wir uns vor die Beiträge zu löschen und den entsprechenden User zu sperren.“ (Aus den WPDE.org Nutzungsbedingungen)

  • Hallo

    Nein, "a.ajax" ist sicher nicht das Problem, denn das ist ja nur der Verweis auf ein HTML Element und keine Funktion. Sollte dieses Element in deinem Quelltext fehlen, wird die Funktion "qtip" einfach nicht ausgeführt, aber du bekommst keine Fehlermeldung.

    Aufgrund der von dir geposteten Fehlermeldung gehe ich davon aus, dass bei dir jQuery im sogenannten "compatibility mode" läuft.

    D. H. du musst noch sowas wie

    Code
    jQuery(document).ready(function($){
    //deine Funktionen 
    }) ;


    um den oberen Code schreiben.

    LG, pixselig

    Einmal editiert, zuletzt von pixselig (16. Dezember 2014 um 07:35)

  • Nachdem ich lange nicht geantwortet hatte kommt nun mein Feedback:

    Ich habe ein bisschen was ausprobiert und das Ergebnis ist folgender Code, der wie gewünscht eine Datei nach X-Sekunden per Ajax nachlädt.

    Zitat

    $(document).ready(function() {
    setTimeout(function(){
    $("#test").load("/.../wp-content/themes/.../....php");
    }, 3000);
    });

    Das einzige Problem ist nun noch, dass einfache Befehle wie get_the_title(); in der nachgeladenen Datei nicht ausgeführt werden. Warum ist mir nicht ganz klar.

    Ich habe mal was von der WPDB-Klasse gehört mit der man via Wordpress auf die Datenbank zugreifen kann, muss ich damit arbeiten?

    „Werbung, insbesondere kommerzielle, ist sowohl in Signaturen als auch Beiträgen ohne vorherige Genehmigung des Betreibers verboten. Bei Zuwiderhandlung behalten wir uns vor die Beiträge zu löschen und den entsprechenden User zu sperren.“ (Aus den WPDE.org Nutzungsbedingungen)

  • Du musst die wp-load.php mittels require_once zu Anfang deiner PHP Datei einbinden - dann stehen dir in selbiger Datei alle WordPress Funktionen zu verfügen.

  • Danke für den Tipp. Die Fehlermeldungen mit "unknown function" usw. sind nach dem Einbinden der wp-load.php tatsächlich verschwunden, aber leider klappen die PHP-Befehle immernoch nicht.

    Zum Beispiel ein einfaches get_the_ID() mit anschließendem echo der ID bleibt ohne jedes Ergebnis :( Fehlt da irgendwie noch der "Bezug" zu WP?!

    „Werbung, insbesondere kommerzielle, ist sowohl in Signaturen als auch Beiträgen ohne vorherige Genehmigung des Betreibers verboten. Bei Zuwiderhandlung behalten wir uns vor die Beiträge zu löschen und den entsprechenden User zu sperren.“ (Aus den WPDE.org Nutzungsbedingungen)


  • Zum Beispiel ein einfaches get_the_ID() mit anschließendem echo der ID bleibt ohne jedes Ergebnis :( Fehlt da irgendwie noch der "Bezug" zu WP?!

    Das Problem ist, dass du vermutlich innerhalb der PHP Datei welche mittels Ajax nachgeladen wird keinen (angepassten) Loop hast. Woher soll jetzt WP "wissen" welche ID du mit "get_the_ID()" in eine Variable speichern möchtest?
    Das heißt, dass du mit der Ajax Funktion auch einen Parameter an die nachzuladende PHP Datei übergeben musst. Dieser Parameter sollte die post ID enthalten und du benutzt ihn, um entweder einen Loop mit definierter post ID in der PHP Datei zu erstellen oder um ihn als Argument/Parameter für jeden WP Funktionsaufruf welche normalerweise einen Loop benötigen (get_the_ID, the_title etc.) anzugeben.

    Oder kurz: du musst definieren auf welchen Datenbank-Eintrag sich die Funktionen beziehen (ein Programm kann nicht hellsehen).

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!