رفتن به مطلب

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

سلام خدمت دوستان عزیز ،

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

function Get_Post_Number($postID){
	$temp_query = $wp_query;
	$args = array ( 
	'orderby' => 'date', 
	'order'=> 'DESC', 
	'post_type' => 'post', 
	'posts_per_page' => '-1' );
	$counter = 1;
	$postCount = 0;
	$AVRank = null;
	$AVRank = new WP_Query($args);
	if($AVRank->have_posts()) {
	    while ($AVRank->have_posts()) : $AVRank->the_post();
	        if ($postID == get_the_ID()){
	            $postCount = $counter;
	        } else {
	            $counter++;
	        }
	endwhile; }
	wp_reset_query();
	$wp_query = $temp_query;
	return $postCount;
}

حالا مشکل اینجاس که من باید اینو داخل یه حلقه فراخونی کنم حالا چه تو single.php چه قسمتای دیگه در سایت و وقتی کدش رو قرار میدم شماره گذاری رو درست انجام میده ولی بعد کد بر میگرده به پست اصلی یا حلقه اول یه مثال میزنم که منظورمو بهتر برسونم

حلقه اول : عنوان Title 1

حلقه دوم که شامل 20 تا پست هست داخل حلقه اول

حالا این کد داخل حلقه دوم گذاشته میشه ولی بعد از کد برای مثال wp_title() میشه همون عنوان حلقه اول یعنی title 1 و برای همه ی پست ها هم تکرار میشه wp_reset_query هم گذاشتم واقعا دیگه نمیدونم مشکل از کجاس

 

از اساتید عزیز ممنون میشم راهنمایی کنید.

به اشتراک گذاری این ارسال


لینک به ارسال

سلام

یعنی میخواید پست ها شماره گذاری بشن، ولی وقتی یک گروه شماره خوردن، برای گروه بعدی از 1 شروع نشه درسته؟

به اشتراک گذاری این ارسال


لینک به ارسال
در در 5/12/2020 at 09:32، Morteza گفته است :

سلام

یعنی میخواید پست ها شماره گذاری بشن، ولی وقتی یک گروه شماره خوردن، برای گروه بعدی از 1 شروع نشه درسته؟

سلام ، تشکر که وقت گذاشتین، بله دقیقا البته میخوام تو single.php هم نمایش داده بشه

فعلا مشکلم رو با این کد حل کردم ولی بنظرتون استفاده از این کد مشکلی برام ایجاد نمیکنه بعدا؟ باعث کندی نمیشه کد جدیدم این هست.

function AvRankingNumbers(){
	$AVRankargs = array (  
	'order'=> 'DESC', 
	'meta_key' => 'totalreviews', 
	'orderby'=> 'meta_value_num', 
	'post_type' => 'post', 
	'posts_per_page' => '-1' );
	$AVRank = get_posts( $AVRankargs );
	$counter = 1;
	$counts = 0;
	$postnumbercount = $AVRank->post_count;
	
	if($AVRank) :
	    foreach ($AVRank as $post) : 
		setup_postdata($post);
	        $counts++;
			add_post_meta($post->ID, 'av_ranking', $counts, true);
			update_post_meta($post->ID, 'av_ranking', $counts);
		endforeach;
	endif;
}
add_action ( 'publish_post', 'AvRankingNumbers' );
add_action ( 'deleted_post', 'AvRankingNumbers' );
add_action ( 'edit_post', 'AvRankingNumbers' );

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

 

درواقع منظورم این هست که دارم از روش درستی استفاده می کنم ؟!

ویرایش شده توسط alam7o

به اشتراک گذاری این ارسال


لینک به ارسال

کد بالا برای ذخیره/حذف یا ارسال نوشته جدید اجرا میشه.

میتونید یک متغییر بیرون حلقه تعریف و اون رو دال حلقه یکی یکی اضافه کنین.

 

به اشتراک گذاری این ارسال


لینک به ارسال
در 29 دقیقه قبل، Morteza گفته است :

کد بالا برای ذخیره/حذف یا ارسال نوشته جدید اجرا میشه.

میتونید یک متغییر بیرون حلقه تعریف و اون رو دال حلقه یکی یکی اضافه کنین.

 

متاسفانه در کدنویسی مبتدی هستم، امکانش هست با همین کد مثال بزنید ؟

ویرایش شده توسط alam7o

به اشتراک گذاری این ارسال


لینک به ارسال

یک سوالی

چرا کوئری رو مستقیم توی حلقه پست نمیزارین؟

تابع نیازی نیست.

کد حلقه پستتون رو اینجا بزارید.

به اشتراک گذاری این ارسال


لینک به ارسال
//این حلقه اول هست که پست توش فراخوانی میشه
while ( have_posts() ) : the_post();
	// the_title ...
	// the_content
	// ...
		//اینجا حلقه دومم اجرا میشه
		if( have_rows('comp_post') ): while( have_rows('comp_post') ): the_row(); 
			$postinacf = get_sub_field('comppost', false, false);
		endwhile;endif;
		$args = array('post__in'=> ((!isset($postinacf) || empty($postinacf)) ? array(-1) : $postinacf),
		'posts_per_page' => -1,'order'=> 'DESC', 'meta_key' => 'totalreviews','orderby'=> 'meta_value_num');
		 
		 $AVPcomp_args = new WP_Query($args);
		 if ($AVPcomp_args->have_posts()) { 
			while($AVPcomp_args->have_posts()) : $AVPcomp_args->the_post();  
			//
			//
			// کدی که تو فانکشن گذاشتم قراره اینجا فراخوانی بشه
			//
			//
			endwhile; 
		  } 
		wp_reset_query(); // پایان حلقه دوم

endwhile; // پایان حلقه اول
نقل قول

چرا کوئری رو مستقیم توی حلقه پست نمیزارین؟

امتحان کردم اعداد رو درست نشون نمیداد همه پست های داخل لیست (حلقه دوم) شمارشون 1 میشد

add_action ( 'publish_post', 'AvRankingNumbers' );
add_action ( 'deleted_post', 'AvRankingNumbers' );
add_action ( 'edit_post', 'AvRankingNumbers' );

از طریق این روشی هم که کار میکنه نمیدونم کاره درستیه یا نه امیدوار بودم شما بهترین روش رو بهم بگید

چون قراره این کد داخل دسته های و لیستهای زیادی فراخوانی بشه و به مرور احساس میکنم سایت رو سنگین میکنه

 

به اشتراک گذاری این ارسال


لینک به ارسال

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

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

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

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

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

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

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

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


  • مطالب مشابه

    • توسط alis7k
      دوستان سلام یه مشکلی برام پیش اومده هر قالبی رو که نصب میکنم تصاویر محصولا تار هست  و وقتی روی محصولات کلیک میکنم و میرم داخل صفحه ی خودشون کاملا واضح و درست نمایش داده میشه. 
      نکته جالب اینجاست وقتی دوباره برمیگردم به صفحه اصلی سایت اون محصولی که روش کلیک کرده بودم تصویرش واضح شده! چند تا اسکرین شات براتون میزارم اگه راهی هست لطفا بگید درستش کنم


    • توسط sakineh
      سلام
      من می خوام تو سایت وقتی کسی ثبت نام کرد به انتخاب خودش وارد یک دسته بشه یا یک دسته جدید درست کنه و ظرفیت هر دسته هم متفاوت باشه افزونه هست که این کارو انجام بده
    • توسط amzzm75
      با سلام
      یکی از مشتریای من میخواد کل محصولات وب سایت دیجیکالا رو داخل سایت خودش کپی کنه (در واقع میخواد با سیستم همکاری در فروش دیجیکالا کار کنه)
      من داخل سایتش به یه مشکل خوردم
      یه افزونه دارم که محصولات کپی میکنه اولش هاست داشت و فضای هاستش پر شد گفتم بره سرور مجازی بگیره و ولی الان پردازشگر سرور مجازی توان نداره کپی کنه و با مشکل روبرو شده از طرفی نمیخواد اول کار خیلی هزینه کنه
      البته افزونه یه تنظیم داره که اگه عکس محصولات از خود دیجیکالا لود بشه دیگه راحت کپی میشه و مشکل پیش نمیاد
      ولی فکر میکنم به لحاظ سئو ضعف حساب میشه (برای همینم گفتم سرور بگیره که عکسا هم روی سایت خودش باشه)
      من بهش پیشنهاد دادم از سرور مجازی بیاد بیرون و با همون هاست اولیه و هاست دانلود کار کنه به طوریکه هاست دانلود بشه ساب دومین دامنه اصلی که برای سئو هم مشکلی ایجاد نشه ولی فکر نکنم شدنی باشه و فکر کنم هاست دانلود به یه دامنه جدا باید وصل بشه (من با هاست دانلود کار نکردم)
      میخواستم بدونم پیشنهاد شما چیه
      باتشکر
    • توسط armin1387
      سلام
      من وردپرسم رو روی هاست گیفگا ریختم. ولی وقتی می خوام وارد پوشه وردپرس بشم همچین خطای میده. 
      آدرس سایت : http://arnam.gigfa.com/wordpress/
      عکس خطا : 
       
    • توسط miladmoqaddam823
      دوستان سلام. 
      چطوری میتونم به انتهای صفحات کتگوری و برچسب ها، متن و توضیحات اضافه کنم؟
      به خیلی از فروشنده های قالب های وردپرس پیام دادم، هیچ کدوم این قابلیت رو ندارن
      حالا الان میخوام با وودمارت کار کنم، اما نتونستم راه حلی پیدا کنم برای این موضوع.
      بعضی قالب ها این امکان رو دارن، اما بالای صفحه نمایش میده، در حالیکه من میخوام انتهای صفحه و زیر محصولات باشه این توضیحات.
×
×
  • اضافه کردن...