WordPress Yorumları Ajax Biçiminde Göndermek Almak

jQuery ve PHP takviyesiyle wordpress yorumlarınızı ajax biçiminde gönderilmesini sağlayablirsiniz. Sayfa yenilenmeden yorumlar gönderilebilir.

Öncelikle aşğıdaki kodları functions.php ye eklemeniz gerekiyor.

function google_jquery() {
if ( !is_admin() ) { wp_deregister_script('jquery'); wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"), false);
wp_enqueue_script('jquery'); } } 
 
add_action('wp_print_scripts ', 'google_jquery');





add_action('comment_post', 'ajaxify_comments',20, 2);
function ajaxify_comments($comment_ID, $comment_status){
	if(!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest'){
	//If AJAX Request Then
		switch($comment_status){
			case '0':
				//notify moderator of unapproved comment
				wp_notify_moderator($comment_ID);
			case '1': //Approved comment
				echo "success";
				$commentdata=&get_comment($comment_ID, ARRAY_A);
				$post=&get_post($commentdata['comment_post_ID']); 
				wp_notify_postauthor($comment_ID, $commentdata['comment_type']);
			break;
			default:
				echo "error";
		}
		exit;
	}
}

Sonrasında javascript kodları var bunları head içerisine script tagları arasına ekleyebilirsiniz.

jQuery('document').ready(function($){
	var commentform=$('#commentform'); // find the comment form
	commentform.prepend('
'); // add info panel before the form to provide feedback or errors var statusdiv=$('#comment-status'); // define the infopanel commentform.submit(function(){ //serialize and store form data in a variable var formdata=commentform.serialize(); //Add a status message statusdiv.html('

Processing...

'); //Extract action URL from commentform var formurl=commentform.attr('action'); //Post Form with data $.ajax({ type: 'post', url: formurl, data: formdata, error: function(XMLHttpRequest, textStatus, errorThrown){ statusdiv.html('

Bos alan birakmayiniz

'); }, success: function(data, textStatus){ if(data=="success") statusdiv.html('

Yorum icin tesekkurler. Yorumunuz kontrol edildikten sonra onaylanacaktir.

'); else statusdiv.html('

Please wait a while before posting your next comment

'); commentform.find('textarea[name=comment]').val(''); } }); return false; }); });

Bu kadar..
Not: Yorum gönderme formunuzda değişiklik yaparsanız jquery de bulunan seçicileride değiştirmeniz gerekebilir. Default-varsayılan yorum formu kullandığınız sürece bir sorun yaşamadan kodlarınız çalışır.

“WordPress Yorumları Ajax Biçiminde Göndermek Almak” için bir yorum

  1. Selamlar,

    Paylaşım için çok teşekkürler. Bunu eklentisiz yapabilmek için oldukça araştırma yaptık ve sonunda bu yazınızı gördük. Biraz da geliştirme yaparak sitelerimize uyguladık. Gayet de güzel oldu. Kolay gelsin

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir