• 12-03-2017, 01:04:14
    #1
    MErhaba arkadaşlar

    Yaynladığım yazıya eklentisiz beğen butonu eklemek istiyorum. Araştırdım 2 tane buldum birtanesi çalıştı github'da buldum ama çok küçük düzenleyemedim de varmı nasıl yapılacağını bilen?
  • 12-03-2017, 11:31:12
    #2
    Jetpack eklentisini kullanıyorsanız, eklenti ayarlarından yazıları beğen seçeneğini açarsanız yazıların altında paylaş düğmelerinin orada beğen düğmesini de görürsünüz.
  • 12-03-2017, 19:52:43
    #3
    eklentisiz yapmak istiyorum aslında hocam varmı kaynak?
  • 12-03-2017, 20:41:27
    #4
    Facebook like için:
    developers.facebook.com/docs/plugins/like-button buradan JavaScript SDK olan kodu oluştur.
    Tema header.php aç. Kodu <body sonrasına yapıştır.
  • 12-03-2017, 21:34:21
    #5
    metinciris adlı üyeden alıntı: mesajı görüntüle
    Facebook like için:
    developers.facebook.com/docs/plugins/like-button buradan JavaScript SDK olan kodu oluştur.
    Tema header.php aç. Kodu <body sonrasına yapıştır.
    Metin hocam facebook like değil site içerisindeki yaziyi sitede beğenme like butonu istiyorum
  • 13-03-2017, 11:47:25
    #6
    plugin olmadan yapabileceğini zannetmiyorum plugin istersen bunu öneririm. Türkçedir.
  • 13-03-2017, 13:47:09
    #7
    cRueL adlı üyeden alıntı: mesajı görüntüle
    Metin hocam facebook like değil site içerisindeki yaziyi sitede beğenme like butonu istiyorum
    Like sonucu veritabanna kaydolacak. Her konu için ayrı like olacak. Eklenti harici boş verin bence.

    Şunlara bakabilirsiniz. Bir yerlerde görmüştüm. Tıklayınca kalp saçılıyordu.
    tr.wordpress.org/plugins/i-recommend-this/
    github.com/wpsitecare/heart-this
  • 13-03-2017, 16:49:50
    #8
    cRueL adlı üyeden alıntı: mesajı görüntüle
    MErhaba arkadaşlar

    Yaynladığım yazıya eklentisiz beğen butonu eklemek istiyorum. Araştırdım 2 tane buldum birtanesi çalıştı github'da buldum ama çok küçük düzenleyemedim de varmı nasıl yapılacağını bilen?
    functions.php dosyasına eklenecek kodlar:
    add_action('wp_ajax_nopriv_ayas-begen', 'begen');
    	add_action('wp_ajax_ayas-begen', 'begen');
    
    	wp_enqueue_script('makale_begen', get_template_directory_uri().'/js/begen.js', array('jquery'), '1.0', true );
    	wp_localize_script('makale_begen', 'ajax_var', array(
    		'url' => admin_url('admin-ajax.php'),
    		'nonce' => wp_create_nonce('ajax-nonce')
    	));
    	
    
    	$begen_zaman_sayaci = 1440; // 1 gün
    	function begen(){
    		$nonce = $_POST['nonce'];
    	  
    		if ( ! wp_verify_nonce( $nonce, 'ajax-nonce' ) )
    			die ( 'Busted!');
    		 
    		if(isset($_POST['begen']))
    		{
    			$ip = $_SERVER['REMOTE_ADDR'];
    			$post_id = $_POST['post_id'];
    			 
    			$meta_IP = get_post_meta($post_id, "voted_IP");
    			$voted_IP = $meta_IP[0];
    	 
    			if(!is_array($voted_IP))
    				$voted_IP = array();
    			 
    			$meta_count = get_post_meta($post_id, "votes_count", true);
    	 
    			if(!begen_kontrol($post_id))
    			{
    				$voted_IP[$ip] = time();
    	 
    				update_post_meta($post_id, "voted_IP", $voted_IP);
    				update_post_meta($post_id, "votes_count", ++$meta_count);
    				 
    				echo $meta_count;
    			}
    			else
    				echo "already";
    		}
    		exit;
    	}
    	function begen_kontrol($post_id)
    	{
    		global $begen_zaman_sayaci;
    	 
    		$meta_IP = get_post_meta($post_id, "voted_IP");
    		$voted_IP = $meta_IP[0];
    		 
    		if(!is_array($voted_IP))
    			$voted_IP = array();
    			 
    		$ip = $_SERVER['REMOTE_ADDR'];
    		 
    		if(in_array($ip, array_keys($voted_IP)))
    		{
    			$time = $voted_IP[$ip];
    			$now = time();
    			 
    			if(round(($now - $time) / 60) > $begen_zaman_sayaci)
    				return false;
    				
    			return true;
    		}
    		return false;
    	}
    
    
    	function ayasBegen($post_id){
    
    		$begenme_sayisi = get_post_meta($post_id, "votes_count", true);
    		$cikis = '<div class="makaleBegen"><a href="#" data-post_id="'.$post_id.'"><i class="fa fa-heart"></i>';
    		if(begen_kontrol($post_id))
    			$cikis .= '<p>Beğendin</p>';
    		else
    			$cikis .= '<p>Beğen !</p>';
    		
    		if($begenme_sayisi != 0 || $begenme_sayisi != null)
    			$cikis .= '<span class="begeniSayisi">('.$begenme_sayisi.')</span>';
    		else
    			$cikis .= '<span class="begeniSayisi">'.$begenme_sayisi.'</span>';
    		$cikis .= '</a></div>';
    		return $cikis;
    	}
    temanızın js klasörüne begen.js adında dosya açıp şunları yazın:
    jQuery(document).ready(function(){jQuery(".makaleBegen a").click(function(){return kalp=jQuery(this),post_id=kalp.data("post_id"),jQuery.ajax({type:"post",url:ajax_var.url,data:"action=ayas-begen&nonce="+ajax_var.nonce+"&begen=&post_id="+post_id,success:function(a){"already"!=a&&(kalp.addClass("voted"),kalp.find("p").html("Beğendin !"),kalp.find(".begeniSayisi").html("("+a+")"))}}),!1})});
    Daha sonra kullanmak istediğin sayfaya şunu ekleyin (single.php):
    <?php echo ayasBegen(get_the_ID());?>
  • 13-03-2017, 21:50:08
    #9
    aTKn94 adlı üyeden alıntı: mesajı görüntüle
    functions.php dosyasına eklenecek kodlar:
    add_action('wp_ajax_nopriv_ayas-begen', 'begen');
    	add_action('wp_ajax_ayas-begen', 'begen');
    
    	wp_enqueue_script('makale_begen', get_template_directory_uri().'/js/begen.js', array('jquery'), '1.0', true );
    	wp_localize_script('makale_begen', 'ajax_var', array(
    		'url' => admin_url('admin-ajax.php'),
    		'nonce' => wp_create_nonce('ajax-nonce')
    	));
    	
    
    	$begen_zaman_sayaci = 1440; // 1 gün
    	function begen(){
    		$nonce = $_POST['nonce'];
    	  
    		if ( ! wp_verify_nonce( $nonce, 'ajax-nonce' ) )
    			die ( 'Busted!');
    		 
    		if(isset($_POST['begen']))
    		{
    			$ip = $_SERVER['REMOTE_ADDR'];
    			$post_id = $_POST['post_id'];
    			 
    			$meta_IP = get_post_meta($post_id, "voted_IP");
    			$voted_IP = $meta_IP[0];
    	 
    			if(!is_array($voted_IP))
    				$voted_IP = array();
    			 
    			$meta_count = get_post_meta($post_id, "votes_count", true);
    	 
    			if(!begen_kontrol($post_id))
    			{
    				$voted_IP[$ip] = time();
    	 
    				update_post_meta($post_id, "voted_IP", $voted_IP);
    				update_post_meta($post_id, "votes_count", ++$meta_count);
    				 
    				echo $meta_count;
    			}
    			else
    				echo "already";
    		}
    		exit;
    	}
    	function begen_kontrol($post_id)
    	{
    		global $begen_zaman_sayaci;
    	 
    		$meta_IP = get_post_meta($post_id, "voted_IP");
    		$voted_IP = $meta_IP[0];
    		 
    		if(!is_array($voted_IP))
    			$voted_IP = array();
    			 
    		$ip = $_SERVER['REMOTE_ADDR'];
    		 
    		if(in_array($ip, array_keys($voted_IP)))
    		{
    			$time = $voted_IP[$ip];
    			$now = time();
    			 
    			if(round(($now - $time) / 60) > $begen_zaman_sayaci)
    				return false;
    				
    			return true;
    		}
    		return false;
    	}
    
    
    	function ayasBegen($post_id){
    
    		$begenme_sayisi = get_post_meta($post_id, "votes_count", true);
    		$cikis = '<div class="makaleBegen"><a href="#" data-post_id="'.$post_id.'"><i class="fa fa-heart"></i>';
    		if(begen_kontrol($post_id))
    			$cikis .= '<p>Beğendin</p>';
    		else
    			$cikis .= '<p>Beğen !</p>';
    		
    		if($begenme_sayisi != 0 || $begenme_sayisi != null)
    			$cikis .= '<span class="begeniSayisi">('.$begenme_sayisi.')</span>';
    		else
    			$cikis .= '<span class="begeniSayisi">'.$begenme_sayisi.'</span>';
    		$cikis .= '</a></div>';
    		return $cikis;
    	}
    temanızın js klasörüne begen.js adında dosya açıp şunları yazın:
    jQuery(document).ready(function(){jQuery(".makaleBegen a").click(function(){return kalp=jQuery(this),post_id=kalp.data("post_id"),jQuery.ajax({type:"post",url:ajax_var.url,data:"action=ayas-begen&nonce="+ajax_var.nonce+"&begen=&post_id="+post_id,success:function(a){"already"!=a&&(kalp.addClass("voted"),kalp.find("p").html("Beğendin !"),kalp.find(".begeniSayisi").html("("+a+")"))}}),!1})});
    Daha sonra kullanmak istediğin sayfaya şunu ekleyin (single.php):
    <?php echo ayasBegen(get_the_ID());?>
    Deneyeceğim hocam teşekkür ederim istediğim buydu