it-swarm.com.de

problem mit Ajax und dem Pfad zur PHP-Seite

ich möchte eine PHP-Seite von einer Ajax-Methode aufrufen: Die Warnung funktioniert gut, der Code wurde auch außerhalb von WordPress getestet, aber hier scheint es, dass die PHP-Seite nie aufgerufen wird.

Ich fand einige Artikel, darunter: Wie man Ajax-Aufrufe und JSON in WordPress verwaltet aber ich werde verwirrter. Können Sie mir bitte sagen, was ich hier tun soll? (mit "diapo.php" funktioniert es nicht und so auch nicht)

hier ist der Aufruf mit jquery:

        $('.sous-cat').find('img').click(function(){
                var alt_p = $(this).attr('alt');
                //alert(alt_p);

                $.ajax({
                    type: "POST",
                    url: "<?php bloginfo( 'template_directory' ) ?>/diapo.php",
                    data: {p:alt_p},
                    success: function(data) {
                        alert(data);
                    }
                });
                return false;
        });

und die PHP Seite fürs Erste:

        <?php
        /*
        $p = $_POST['p'];
        query_posts( 'cat=3&p=$p' );
        while (have_posts()) : the_post();
            $result = the_post_thumbnail('normal');
        endwhile;
        wp_reset_query();*/

        echo '$result';

        ?>

Danke für Ihre Hilfe

3
Paul_p

Um die Ajax-URL von WordPress zu verwenden, können Sie die Variable mit wp_localize_script übergeben:

wp_enqueue_script( 'functions', get_bloginfo( 'stylesheet_directory' ) . '/js/functions.js', array( 'jquery' ), false);
    wp_localize_script( 'functions', 'MyAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' ) ) );

In Ihrer functions.js

        $.ajax({
                type: "POST",
                url:  MyAjax.ajaxurl,
                data: {p:alt_p},
                success: function(data) {
                    alert(data);
                }
            });
3
Chris_O

Das direkte Aufrufen der PHP -Datei ist eine allgemeinere Methode zur Implementierung von Ajax und sollte nicht in WordPress verwendet werden.

Siehe Ajax in Plugins im Codex und versuchen Sie, dort langsam Beispiele durchzuarbeiten. Ja, es ist nicht die einfachste Sache, wenn Sie nicht sehr erfahren in WP sind, aber so sollte Ajax darin gemacht werden.

1
Rarst