Muat Lagi Siaran Butang Ajax dalam WordPress
Tutorial ini menangani isu melaksanakan butang "Muat Lagi" dalam WordPress untuk memuatkan siaran secara berperingkat melalui Ajax. Masalahnya melibatkan penyepaduan fungsi jQuery, Ajax dan WordPress untuk mendapatkan dan memaparkan siaran baharu atas permintaan.
Penyelesaian:
Dalam index.php fail templat, buat elemen kontena dengan ID "ajax-posts" dan masukkan kod PHP untuk membuat pertanyaan dan memaparkan bilangan siaran yang terhad (cth., tiga). Tambahkan butang dengan ID "more_posts" untuk mencetuskan pemuatan siaran tambahan.
Dalam fail functions.php, buat fungsi (more_post_ajax()) untuk mengendalikan permintaan Ajax. Fungsi ini akan menerima offset dan bilangan catatan setiap halaman sebagai parameter dan menanyakan pangkalan data untuk mendapatkan semula set siaran seterusnya.
Dalam panggilan Ajax (sama ada dalam fail skrip atau sebaris ), tetapkan URL Ajax, hantar offset dan bilangan catatan setiap halaman sebagai data, dan kendalikan respons dengan melampirkan catatan yang diambil pada bekas "ajax-posts" dan menambah nombor halaman.
Contoh Kod:
index.php
<div>
functions.php
function more_post_ajax() { // Get offset and number of posts per page $offset = $_POST['offset']; $ppp = $_POST['ppp']; // Query database to retrieve next set of posts // Return retrieved posts echo $posts; exit; }
Panggilan Ajax
// Set Ajax URL var ajaxUrl = '<?php echo admin_url('admin-ajax.php') ?>'; // When "Load More" button is clicked $('#more_posts').on('click', function() { // Disable button temporarily $(this).attr('disabled', true); // Send Ajax request with offset and number of posts per page $.post(ajaxUrl, { action: 'more_post_ajax', offset: (page * ppp) + 1, ppp: ppp }) .success(function(posts) { // Append retrieved posts to container $('#ajax-posts').append(posts); // Increment page number page++; // Re-enable "Load More" button $('#more_posts').attr('disabled', false); }); });
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Butang Ajax \'Muat Lagi\' untuk Siaran WordPress?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!