آموزش وردپرس

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

wordpress-like-posts-without-plugins

[vc_row][vc_column][vc_column_text]

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

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_text_separator title=”” i_icon_fontawesome=”fa fa-file-text-o” i_color=”juicy_pink” color=”turquoise” border_width=”2″ add_icon=”true”][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

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

از پسند کردن یا همان لایک کردن مطالب توسط کاربران نیز می‌توان به عنوان یکی از معمول‌ترین و راحت‌ترین روش‌ها برای مشخص کردن ارزش یک مطلب توسط کاربران نام برد که استفاده از این روش به دو صورت امکان‌پذیر می‌باشد:

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

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

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

اضافه کردن قابلیت لایک مطالب وردپرس در سه مرحله صورت می‌گیرد، ابتدا می‌بایست فایل 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="#" id="like-'.$post_id.'">'.$likes.$who.'</a>';
return;
}
print '<a href="#" 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');

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

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

your-theme/js/Mw-likesScript.js

در مرحله‌ی سوم (آخر) نیز باید دستور زیر را برای نمایش و عملکرد دستورات بالا در هر کجای پوسته که تمایل دارید قرار دهید، هم‌چنین شما دوستان می‌توانید عنوان استفاده شده برای لایک کردن مطالب را به عنوان دلخواه تغییر داده و برای سفارشی‌تر کردن این قابلیت برای آن استایل اختصاصی تعریف نمایید:

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

چنانچه تمایل دارید محبوب‌ترین نوشته‌ها‌ را بر اساس تعداد لایک‌ها در دسته‌بندی جاری نمایش دهید، می‌توانید از کد زیر استفاده کنید: (ارسال کننده: امید غلامرضایی)

<?php
$likeposts = new WP_Query( array( 'posts_per_page' => 10 ,'cat'=>$cat,  'meta_key' => '_likes', 'orderby' => 'meta_value', 'order' => 'DESC' ) );
while ( $likeposts->have_posts() ) : $likeposts->the_post();
?>
<!----- CODHAYE MARBOOTE ------>
<?php endwhile; ?>

و در صورتی که می‌خواهید محبوب‌ترین نوشته‌ها‌ را بر اساس تعداد لایک‌ها در همه‌ی دسته‌بندی‌ها بصورت یکجا نمایش دهید، از کد زیر استفاده کنید: (ارسال کننده: امید غلامرضایی)

<?php
$likeposts = new WP_Query( array( 'posts_per_page' => 10 ,'meta_key' => '_likes', 'orderby' => 'meta_value', 'order' => 'DESC' ) );
while ( $likeposts->have_posts() ) : $likeposts->the_post();
?>
<!----- CODHAYE MARBOOTE ------>
<?php endwhile; ?>

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

[/vc_column_text][vc_text_separator title=”انجمن ما” color=”turquoise”][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][vc_single_image image=”173″ img_size=”full” alignment=”center” style=”vc_box_shadow_3d” onclick=”custom_link” img_link_target=”_blank” link=”http://forum.adroom.ir”][/vc_column][vc_column width=”1/2″][dt_vc_list]

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

[/dt_vc_list][vc_btn title=”ورود به انجمن” style=”gradient” gradient_color_2=”vista-blue” size=”lg” align=”center” i_icon_fontawesome=”fa fa-user-plus” button_block=”true” add_icon=”true” link=”url:http%3A%2F%2Fforum.adroom.ir|title:%D8%A7%D9%86%D8%AC%D9%85%D9%86|target:%20_blank|rel:nofollow”][/vc_column][/vc_row][vc_row][vc_column][vc_separator][/vc_column][/vc_row][vc_row][vc_column][/vc_column][/vc_row]

به این مطلب امتیاز بدهید

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

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