Hocam kategorileri hangi şarta göre, hangi veriyle çekeceğini yazmamışsın. Normal bir ajax işlemi şu şekilde gerçekleşir;
İlk olarak footer'a ajax adresini ekleyin, javascript ile ulaşabilmek için;
<script type="text/javascript">
var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>";
</script>daha sonra javascript ile ajax isteği yapmanız gerekmekte, bunu herhangi bir event'e bağlayabilir yada doğrudan sayfa açılınca yapabilirsiniz. ben bir buton'a tıklanınca yapacağım.
ajaxistek id'li bir buton ekledim, ona tıklayınca çalışacak
<script>
jQuery('#ajaxistek').click(function(){
jQuery.post(ajaxurl, {
'action': 'benim_method', // burası şart mutlaka vermelisiniz
'indis': 'değer',
'falan': 'filan' // istediğiniz kadar veri ekleyebilirsiniz
}, function(cevap){
alert(cevap);
});
});
</script>functions.php'ye gelen ajax istediğini halledecek kodları ekleyin;
//wp_ajax_ ve wp_ajax_nopriv_ den sonra javascript kısmında verdiğiniz action değerini yazmalısınız
add_action('wp_ajax_benim_method', 'benim_ajax_methodum'); //burası sadece giriş yapmış kullanıcıları yakalar
add_action('wp_ajax_nopriv_benim_method', 'benim_ajax_methodum'); // burasıda giriş yapmamış kullanıcıları
/**
* ikisinede işlem yaptırmak istiyorsan böyle kalsın
* yoksa istemediğin kısmı sil
*/
function benim_ajax_methodum() {
var_dump($_POST);
wp_die(); //fonksiyon sonunda sayfayı öldürmelisin
}buton'a tıklayınca
Alıntı
array(3) {
["action"]=>
string(12) "benim_method"
["indis"]=>
string(6) "değer"
["falan"]=>
string(5) "filan"
}
bu şekilde normal bir ajax işlemi yapabilirsiniz, belirli bir kategoriyi çekmek için: id'yi javascript ile gönderin ve $_post['id'] şeklinde alıp wp_query'e parametre olarak ekleyin.