رفتن به مطلب

لایک مطالب


پست های پیشنهاد شده

سلام دوستان
برای ایجاد لایک مطالب از این مقاله استفاده کردم
https://mandegarweb.com/آموزش-افزودن-کد-لایک-کردن-مطالب-در-وردپرس-بدون-افزونه-وردپرس/

در آخر مقاله یه کد جالبی گذاشته که برترین مطالب بر اساس لایک رو نشون بده که کدش اینه
 

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

حالا یه سوالی داشتم
اینو میشه طوری تعیین کرد که هر هفته بروز رسانی بشه ؟
یعنی مطالبی که در همین هفته منتشر شده و بیشترین لایک رو گرفتن بیان اول و هفته بعد هر مطلبی که اون هفته گذاشته شده بر اساس بیشترین لایک نشون داده بشه

 

یه موردی هم که هست ممنون میشم راهنمایی کنید چطور از آیکون یا تصویر به جای نوشته استفاده کنم

ضروری هست این مورد ممنون میشم یه نفر راهنماییم کنه

ویرایش شده توسط techno
لینک به ارسال

خوشبختانه تونستم با اضافه کردن این کد هفته رو درست کنم

'date_query' => array(array('after' => '400000 week ago'))

فقط الان برای امتحان کردن تعداد مطلب رو روی 100 تا گذاشتم دیدم همه 100 تا رو هم یه جا نشون داده و صفحه بندی نکرده

تو تنظیمات وردپرس تنظیم کردن هر صفحه فقط 15 تا نوشته نشون بده ولی اینجا همشو با هم نشون داد

چطور میتونم اینو درست کنم که صفحه بندی بشه ؟

لینک به ارسال

مشکل صحفه بندی هم شکر خدا حل شد

اگه افزونه wp_pagenavi نصبه میشه از این کد استفاده کرد

<?php if(function_exists('wp_pagenavi')) { wp_pagenavi(array('query'=>$likeposts)); } ?>



فقط موند قرار دادن عکس به جای نوشته که اگه اونم پیدا کنم قرار میدم

بی زحمت اگه شما هم بلدید راهنمایی کنید این مشکلم حل بشه

لینک به ارسال
در 10 ساعت قبل، asadiy4n گفته است :

سلام، منظورتون چیه عکس به جای نوشته ؟ تصویر شاخص به جای عنوان منظورتون هست ؟

ببینید الان یک نوشته هست به نام <0 بار پسندیده شده است> و باید روی این متن کلیک بشه تا اون 0 بشه مثلا 1

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

لینک به ارسال
در در 5/24/2020 at 01:36، asadiy4n گفته است :

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

فایلی که funcion قرار میگیره

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 که باید آپلود شه ضمیمه شد

وبرای نمایش دکمه لایک

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

 

Mw-likesScript.js

لینک به ارسال

فایل js

var $j=jQuery.noConflict();$j(document).ready(function(){function reloadLikes(who){var text=$j("#"+who).text();var patt=/(\d)+/;var num=patt.exec(text);num[0]++;text=text.replace(patt,num[0]);if(num[0]==1){text=text.replace('people like','person likes');}else if(num[0]==2){text=text.replace('person likes','people like');}
$j("#"+who).text(text);}
$j(".likeThis").click(function(){var classes=$j(this).attr("class");classes=classes.split(" ");if(classes[1]=="done"){return false;}
var classes=$j(this).addClass("done");var id=$j(this).attr("id");id=id.split("like-");$j.ajax({type:"POST",url:"index.php",data:"likepost="+id[1],success:reloadLikes("like-"+id[1])});return false;});});

 

لینک به ارسال

داخل فایل فانکشن به جای ( بار پسندیده شده است ) کد زیر رو قرار بدید 

<i class="fas fa-thumbs-up"></i>

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

fontawesome.com

لینک به ارسال
در 19 ساعت قبل، asadiy4n گفته است :

داخل فایل فانکشن به جای ( بار پسندیده شده است ) کد زیر رو قرار بدید 

<i class="fas fa-thumbs-up"></i>

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

fontawesome.com

ممنون بابت راهنماییتون

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

انگار نه انگار که یه عکسی اونجا بود

لینک به ارسال

البته الان متوجه شدم با رفرش کردن صفحه ،عکس هم برمیگرده

اینو میشه اینطوری کردش؟
وقتی کاربر روش کلیک کرد تو یه کادر کوچک بنویسه مثلا ممنون بعدش اون ممنون بره و همون عکس برگرده

یه چیزی تو مایه های دکمه لایک سایت 4jok.com میخوام

لینک به ارسال
در در ۱۳۹۹/۳/۷ در 21:57، asadiy4n گفته است :

ادرس انلاین بدید منظورتون رو درست متوجه نمیشم باید ببینم

تو همون پست گذاشتم دیگه

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...