Heim >Backend-Entwicklung >PHP-Tutorial >Wie zeige ich zufällige Zitate mit AJAX in einem WordPress-Shortcode an?

Wie zeige ich zufällige Zitate mit AJAX in einem WordPress-Shortcode an?

Linda Hamilton
Linda HamiltonOriginal
2024-12-08 21:35:20393Durchsuche

How to Display Random Quotes with AJAX in a WordPress Shortcode?

So generieren Sie zufällige Zitate mit AJAX in einem WordPress-Shortcode

Frage:

Wie können wir Seiteninhalte aktualisieren? AJAX in WordPress?

Antwort:

Hier ist eine erweiterte Version des in der Frage bereitgestellten Codes, die die AJAX-Funktionalität in einem WordPress-Shortcode implementiert, um zufällige Anführungszeichen anzuzeigen:

Shortcode (shortcode.php)

function random_quote_shortcode( $atts ) {
    $atts = shortcode_atts( array(
        'path' => get_template_directory_uri() . '/quotes.txt'
    ), $atts );

    $quotes = file( $atts['path'] );
    $random_quote = $quotes[array_rand($quotes)];

    $output = sprintf(
        '<div>

AJAX-Handler (ajax-handler.php)

add_action( 'wp_ajax_load_random_quote', 'load_random_quote' );
add_action( 'wp_ajax_nopriv_load_random_quote', 'load_random_quote' );

function load_random_quote() {
    $quotes = file( $_POST['file_path'] );
    $random_quote = $quotes[array_rand($quotes)];

    echo $random_quote;
    wp_die();
}

jQuery-Skript (ajax-script .js)

jQuery(document).ready(function($) {
    $('#newquote').click(function(e) {
        e.preventDefault();

        $.ajax({
            url: ajaxurl,
            data: {
                action: 'load_random_quote',
                file_path: '<?php echo get_template_directory_uri() . '/quotes.txt'; ?>'
            },
            success: function(data) {
                $('#randomquote').html(data);
            }
        });
    });
});

Enqueue-Skripte und Daten lokalisieren (functions.php)

function enqueue_ajax_scripts() {
    wp_enqueue_script( 'ajax-script', get_template_directory_uri() . '/js/ajax-script.js', array('jquery'), '1.0.0', true );
    wp_localize_script( 'ajax-script', 'ajax_object', array(
        'ajax_url' => admin_url( 'admin-ajax.php' )
    ) );
}

add_action( 'wp_enqueue_scripts', 'enqueue_ajax_scripts' );

Erklärung:

  1. Der Shortcode random_quote generiert ein anfängliches zufälliges Zitat und eine Schaltfläche mit der Bezeichnung „Neu“. Zitat.“
  2. Wenn auf die Schaltfläche „Neues Angebot“ geklickt wird, verarbeitet die jQuery den AJAX Anfrage.
  3. Die Handlerfunktion load_random_quote gibt ein neues zufälliges Zitat zurück, das dann von der jQuery anstelle des vorherigen angezeigt wird.
  4. Um Sicherheitsproblemen vorzubeugen, wurden die AJAX-Nonces implementiert.

Zusätzlicher Hinweis:

Wenn Sie a verwenden Benutzerdefiniertes Theme, ersetzen Sie get_template_directory_uri() durch die entsprechende Funktion für Ihr Theme.

Das obige ist der detaillierte Inhalt vonWie zeige ich zufällige Zitate mit AJAX in einem WordPress-Shortcode an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn