pashabey

فرم جستوجو پیشرفته دسته های EDD

8 پست در این موضوع قرار دارد

سلام دوستان خسته نباشید

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

فرم جستوجو

اما متاسفانه کدی که تونستم پیدا کنم فقط دسته بندی وردپرس رو نشون میده نه دسته بندی افزونه EDD رو .

این تیکه کد هست :

<form role="search" method="get" class="devmesearchbody" action="<?php echo home_url( '/' ); ?>">
	<label>
		<input type="search" class="devmesearchinput" placeholder="کلمه کلیدی را وارد کنید..." value="<?php echo esc_attr( get_search_query() ); ?>" name="s" title="<?php echo esc_attr_x( 'جستجو بین مطالب', 'label' ); ?>" />
	</label>
	<?php
		$swp_cat_dropdown_args = array(
				'show_option_all'  => __( 'همه' ),
				'name'             => 'swp_category_limiter',
			);
		wp_dropdown_categories( $swp_cat_dropdown_args );
	?>
	<input type="submit" class="devmesbutton" value="بگرد" />
</form>

فقط میخوام دسته بندی EDD رو نشون بده

خیلی ممنونم

0

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


لینک به پست

سلام و درود

 

<form role="search" method="get" class="devmesearchbody" action="<?php echo home_url( '/' ); ?>">
	<label>
		<input type="search" class="devmesearchinput" placeholder="کلمه کلیدی را وارد کنید..." value="<?php echo esc_attr( get_search_query() ); ?>" name="s" title="<?php echo esc_attr_x( 'جستجو بین مطالب', 'label' ); ?>" />
	</label>
<select name="filter_category">
	<?php
		$category_options = array(
			'all' => 'همه دسته ها'
		);
		$cats = wp_list_pluck(get_terms(array( 
			'taxonomy' => 'download_category'
		)), 'name', 'term_id');
		$category_options = $category_options + $cats;
		?>
		<option selected disabled hidden>انتخاب دسته بندی</option>
		<?php
		foreach($category_options as $value => $label) {
			echo '<option '.selected($_GET['filter_category'], $value).' value="' . esc_attr($value) . '">' . esc_html($label) . '</option>';
		}
	?>   
</select>
	<input type="submit" class="devmesbutton" value="بگرد" />
</form>

 

موفق باشید

1

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


لینک به پست
در 12 دقیقه قبل، mehran-b گفته است :

سلام و درود

 


<form role="search" method="get" class="devmesearchbody" action="<?php echo home_url( '/' ); ?>">
	<label>
		<input type="search" class="devmesearchinput" placeholder="کلمه کلیدی را وارد کنید..." value="<?php echo esc_attr( get_search_query() ); ?>" name="s" title="<?php echo esc_attr_x( 'جستجو بین مطالب', 'label' ); ?>" />
	</label>
<select name="filter_category">
	<?php
		$category_options = array(
			'all' => 'همه دسته ها'
		);
		$cats = wp_list_pluck(get_terms(array( 
			'taxonomy' => 'download_category'
		)), 'name', 'term_id');
		$category_options = $category_options + $cats;
		?>
		<option selected disabled hidden>انتخاب دسته بندی</option>
		<?php
		foreach($category_options as $value => $label) {
			echo '<option '.selected($_GET['filter_category'], $value).' value="' . esc_attr($value) . '">' . esc_html($label) . '</option>';
		}
	?>   
</select>
	<input type="submit" class="devmesbutton" value="بگرد" />
</form>

 

موفق باشید

خیلی ممنونم از راهنماییتون . متاسفانه وقتی دکمه بگرد رو میزنم مطالب دسته مورد نظر نمایش داده نمیشه http://toranjgraph.ir/

0

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


لینک به پست

درود مجدد

 

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

در تاپیک زیر توضیحاتی دادم.

 

موفق باشید

0

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


لینک به پست
در 13 دقیقه قبل، mehran-b گفته است :

درود مجدد

 

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

در تاپیک زیر توضیحاتی دادم.

 

موفق باشید

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

خیلی ممنونم و تشکر میکنم .

0

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


لینک به پست
در 30 دقیقه قبل، pashabey گفته است :

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

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

 

موفق باشید

0

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


لینک به پست
در 1 دقیقه قبل، mehran-b گفته است :

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

 

موفق باشید

تمام من منتظر پاسخ شما هستم این آخرین مرحله از طراحی این سایت هست اگه اینم حل بشه تمومه . بازم از لطفتون ممنونم

0

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


لینک به پست
در 5 ساعت قبل، pashabey گفته است :

تمام من منتظر پاسخ شما هستم این آخرین مرحله از طراحی این سایت هست اگه اینم حل بشه تمومه . بازم از لطفتون ممنونم

بسیار خوب.

 

ما یه فرم داریم با دو فیلد یه فیلد نوشتاری که توش کوئری سرچ قرار داره و یه فیلد سلکت که توش دسته بندی های افزونه EDD قرار داره.

خوب برای فیلد های کوئری سرچ و سلکت دو تا متغییر به کوئری ها وردپرس با کد زیر اضافه میکنیم.

add_filter('query_vars', function($vars) {
	$vars[] = 'filter_query';
	$vars[] = 'filter_category';
	return $vars;
});

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

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

add_action('pre_get_posts', function($query) {
    if($query->is_home() && $query->is_main_query()) {
		if(get_query_var('filter_category', false)) {
			if(get_query_var('filter_category') != "all" && is_numeric(get_query_var('filter_category')))
				$query->set('cat', get_query_var('filter_category'));
		}
		if(get_query_var('filter_query', false)) {
			$query->set('s', get_query_var('filter_query'));
		}
    }
});

خوب با قرار دادن دو کد بالا در فایل functions.php قالبتون بخش بک اِند به پایان میرسه.

در بخش فرانت اِند که فرم به شکل زیر خواهد بود:

<form role="search" method="get" class="devmesearchbody" action="<?php echo home_url( '/' ); ?>">
<input type="search" class="devmesearchinput" placeholder="کلمه کلیدی را وارد کنید..." value="<?php echo get_query_var('filter_query', false) ? esc_attr(get_query_var('filter_query')) : ""; ?>" name="filter_query">
<select name="filter_category">
	<?php
		$category_options = array(
			'all' => 'همه دسته ها'
		);
		$cats = wp_list_pluck(get_terms(array( 
			'taxonomy' => 'download_category'
		)), 'name', 'term_id');
		$category_options = $category_options + $cats;
		?>
		<option selected disabled hidden>انتخاب دسته بندی</option>
		<?php
		foreach($category_options as $value => $label) {
			echo '<option '.selected($_GET['filter_category'], $value).' value="' . esc_attr($value) . '">' . esc_html($label) . '</option>';
		}
	?>   
</select>
<input type="submit" class="devmesbutton" value="بگرد">
</form>

اینم از فرم جستجو.

نکته ای که باید بگم اینه که نتایج در صورتی قابل مشاهده هست که محصولات شما توسط حلقه اصلی در حال نمایش باشن.

 

موفق باشید

0

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


لینک به پست

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط sabig
      سلام دوستان،
      من در حال حاضر یک وب سایت دارم که روی اون فعلا فقط 3 تا محصول قرار گرفته. 
      چند وقته فکرم مشغول شده که آیا از EDD که در حال حاضر روی سایتم فعاله به ووکامرس مهاجرت بکنم یا نه؟
      یکی از دلایلم هم اینه که برای ووکامرس افزونه های بسیار بیشتری وجود داره و با اکثر افزونه های موجود هماهنگ هست.
      به نظرتون از EDD به ووکامرس مهاجرت کنم؟
      تعداد محوصلات سایتم هم در آینده خیلی بشه، میشه 20 تا ...
      به نظر شما عاقلانس یا با EDD ادامه بدم؟
      در ضمن در مورد انتقال دستی این تعداد محصولات هم ممنون میشم راهنمایی کنید.
       
    • توسط mostafa40688
      سلام و وقت بخیر 
      دوستان به سایت میخوام بزنم برای حدود ۲۰۰ هزارتا مقاله فروشی.
      ب نظرتون وردپرس و edd جواب این تعداد مقاله و کتاب رو میدن ؟ یا از ووکامرس ایتفاده کنم یا چیزه دیگه ای؟ 
      مشکل من ففط اینه ک بشه ابن ۲۰۰ هزارتا محصول رو تو سایت گذاشت و مشکلی از لحاظ سرعت و هنگی و... نداشته باشم.
      ممنون
    • توسط msorena
      با عرض سلام خدمت تمامی اساتید و کاربران انجمن
      من یه مشکلی دارم که نمی دونم چطوری برطرفش کنم
      توی وردپرس اگه بخوام توی پست دسته بندی به صورت "دسته بندی والد » دسته بندی فرزند" نمایش داده بشه از کد زیر استفاده می کنم
      <?php the_category( $separator = ' » ', $parents = 'multiple', $post_id= false ); ?>
      ولی این کد برای نمایش دسته برای افزونه edd کارایی نداره و باید از کد زیر استفاده کنم
      ?php echo get_the_term_list( $post->ID, 'download_category', '', ', ', '' ); ?>
      ولی مشکل این کد اینه که فقط دسته بندی رو نشون میده و دسته بندی والد رو نشون نمیده، آیا راهی واسه حل این مشکل وجود داره؟
    • توسط Homunculus
      سلام
      زمانیکه قیمت های متغیر EDD (نه قیمت های تکی) رو صفر قرار می گیره به صورت 0 تومان نمایش داده میشه که اصلا جالب نیست. من دو نوع روش رو می خوام. یکی اینکه قیمت 0 تومان و خط تیره پشتش از طریق css یا هر روش دیگه ای پنهان شه و یا اینکه 0 تومان تبدیل به هر نوشته دیگه ای نظیر 'سفارش' شه. می خوام هر دو شونو داشته باشم که هر وقت نظرم عوض شد از اون یکی استفاده کنم.
       
      من از طریق کد زیر تو function.php تونستم قیمت های 0 تومان تکی (نه متغیر) رو به هر اسمی که می خوام تغییر بدم اما واسه قیمت های متغیر جواب نمیده. اگه بتونید کد زیر رو طوری ویرایش کنید که بشه قیمت 0 تومان متغیر رو تغییر داد خیلی خوب میشه  :
      /** * Easy Digital Downloads * Change the button text of a free download. Default is "Free - Add to Cart" */ function sumobi_edd_free_download_text_args( $args ) { // Enter the button text for a free download $free_download_text = 'Free download'; $variable_pricing = edd_has_variable_prices( $args['download_id'] ); if ( $args['price'] && $args['price'] !== 'no' && ! $variable_pricing ) { $price = edd_get_download_price( $args['download_id'] ); if ( 0 == $price ) { $args['text'] = $free_download_text; } } return $args; } add_filter( 'edd_purchase_link_args', 'sumobi_edd_free_download_text_args' );  
    • توسط faridphp
      سلام میخوام یه سایت راه بندازم وردپرس روی یک هاست و محصولات eddروی یک هاست دانلود
      حالا وقتی میخوام لینک محصولی که قبلا آپلود کردم رو تو وردپرس معرفی کنم با نشکل روبرو شدم
      مثلا آدرس لینک فایل اینه
      Http://dl.site.com/file.zip
      اما وقتی خرید انجام میشه چنین آدرسی نشون داده میشه به خریدار
      Https//site.com/Http://dl.site.com/file.zip
      میخوام بدونم چطور میتونم کاری کنم که لینک درست نمایش داده بشه به مشتری