آموزش افزودن امکان لایک مطالب در وردپرس بدون نیاز به افزونه

آموزش افزودن امکان لایک مطالب در وردپرس بدون نیاز به افزونه

در این آموزش با نحوه اضافه کردن امکان لایک کردن مطالب در وردپرس مانند این امکان در شبکه اجتماعی مثل توییتر، اینستاگرام، فیسبوک و… آشنا می شوید تا بتوانید بازخورد از مطالب منتشر شده خود داشته باشید.

آموزش افزودن امکان لایک مطالب در وردپرس بدون نیاز به افزونه :

مرحله اول :

ابتدا کدهای زیر را درون فایل فانکشن(functions.php) قالب خود  قرار دهید.

function likeThis($post_id,$action = 'get') {
	if(!is_numeric($post_id)) {
		error_log("خطا : مقدار عددی برای post_id ارسال نشده است");
		return;
	}
	switch($action) {
	case 'get':
		$data = get_post_meta($post_id, '_likes');
		
		if(!is_numeric($data[0])) {
			$data[0] = 0;
			add_post_meta($post_id, '_likes', '0', true);
		}
		return $data[0];
	break;
	case 'update':
		if(isset($_COOKIE["like_" . $post_id])) {
			return;
		}
		$currentValue = get_post_meta($post_id, '_likes');
		
		if(!is_numeric($currentValue[0])) {
			$currentValue[0] = 0;
			add_post_meta($post_id, '_likes', '1', true);
		}
		$currentValue[0]++;
		update_post_meta($post_id, '_likes', $currentValue[0]);
		
		setcookie("like_" . $post_id, $post_id,time()+(60*60*24*365));
	break;
	}
}
function mw_Likes($post_id) {
	$likes = likeThis($post_id);
	$who = '  ';
	if($likes == 1) {
		$who = '
		';
	}
	if(isset($_COOKIE["like_" . $post_id])) {
	print '<a href="#" class="likeThis done" id="like-'.$post_id.'">'.$likes.$who.'</a>';
		return;
	}
	print '<a href="#" class="likeThis" id="like-'.$post_id.'">'.$likes.$who.'</a>';
}
function setUpPostLikes($post_id) {
	if(!is_numeric($post_id)) {
		error_log("خطا : مقدار عددی برای post_id ارسال نشده است");
		return;
	}
	add_post_meta($post_id, '_likes', '0', true);
}
function checkHeaders() {
	if(isset($_POST["likepost"])) {
		likeThis($_POST["likepost"],'update');
	}
}
function jsIncludes() {
	wp_enqueue_script('jquery');
	
	wp_register_script('Mw-likesScript',
	 get_template_directory_uri(). '/js/Mw-likesScript.js' );
	wp_enqueue_script('Mw-likesScript',array('jquery'));
}
add_action ('publish_post', 'setUpPostLikes');
add_action ('init', 'checkHeaders');
add_action ('get_header', 'jsIncludes');

با افزودن این کد امکان لایک مطالب و پسندیدن آنها به وردپرس اضافه شده است که بر اساس کوکی کاربران لایک مطالب در ان ثبت شده و برای هر نوشته نمایش داده خواهد شد. و کاربران برای پسندیدن هر مطلب صرفا مجاز به این هستند تا یکبار بر روی ان کلیک کنند.

مرحله‌ی دوم  :

همانطور که در انتهای کد بالا آمده است برای عملکرد صحیح قابلیت لایک مطالب در وردپرس نیاز به فراخوان کردن یک فایل جاوا اسکریپت می‌باشد که باید آن را در مسیر که در کد فوق تعریف شده است بارگزاری نمایید .

حالا فایلی که در انتهای این پست قرار دارد را دانلود نمایید و از حالت زیپ خارج نمایید و فایل  Mw-likesScript.js که داخل پوشه  js قراردارد را داخل پوشه js قالب خود  آپلود کنید ( اگر در قالب شما چنین پوشه‌ای وجود ندارد یک پوشه به نام js ایجاد کنید.)

مرحله‌ی سوم :

در این مرحله برای نمایش تعداد لایک مطالب و افزودن امکان لایک کردن مطالب به فایل single.php که مربوط به تک‌نوشته در وردپرس می‌باشد مراجعه کرده و کد زیر را در هر کجای قالب که تمایل دارید قرار دهید تا در نوشته‌های وردپرس نمایش داده شود.

<?php mw_Likes(get_the_ID()); ?>

درنهایت می‌توانید عنوان استفاده شده برای لایک کردن مطالب را به عنوان دلخواه تغییر داده و برای سفارشی‌تر کردن این قابلیت برای آن استایل اختصاصی تعریف نمایید .

دانلود فایل

ضمناً اگر بعد از اینکه کدهای بالا را داخل فایل functions.php قرار دادید و به درستی کار نکرد همراه فایلی که در بالا دانلود نمودید فایل کدها هم وجود دارد دقت کنید که محتوای داخل فایل فانکشن و index را می‌بایست کپی کرده و داخل فایل فانکشن قالب خود قرار دهید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

5 × پنج =

question