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

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

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

لایک مطالب وردپرس

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

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

<?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');
?>

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

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

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

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

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

برای  اینکه کدهای فوق را به درستی قرار دهید فایل زیر را که در حالت زیپ قرار دارد را دانلود کرده و به همان صورت که پوشه بندی شده است در قالب خود قرار دهید. دقت کنید که محتوای فایل فانکشن و index درون این فایل را می‌بایست کپی کرده و در محتوای فایل فانکشن قالب خود قرار دهید.

1/5 - (1 امتیاز)
لینک های ضمیمه دانلود فایل
3 نظرات
  1. یبی می گوید

    الاغ گوش کار نمیکنه که دهنت سرویس دراز گوش

  2. mahdi می گوید

    سلام من میخواستم مثل سایت شما لایک مطالب داشته باشم یعنی لایک بر اساس تعداد ستاره

    1. عباس صادقی می گوید

      درود، از مقاله امتیاز ستاره‌ای در وردپرس استفاده کنید.
      موفق باشید

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.