رفتن به مطلب

فیلتر یک دسته در کوئری


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

سلام

 

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

 

			<?php
			$terms = get_terms('category', array(
				'hide_empty' => false,
				'parent'	=>	0,
				'number'	=> 4,
				
			) );

			?>			
			<!-- / -->			
			<?php if ( ! empty( $terms ) && ! is_wp_error( $terms ) ){ ?>
				<div class="col-md-6 col-sm-6 right">
					<ul id="category-items">
						<?php  foreach ( $terms as $term ) {
						$term_id = $term->term_id;
						$childterms = get_terms('category', array(
							'hide_empty' => false,
							'parent'	=>	$term_id,
						) );
						?>
						<li class="category-item"><i class="fa fa-chevron-down left" aria-hidden="true"></i><h3> <?php echo $term->name;?> </h3>
						<?php if ( ! empty( $childterms ) && ! is_wp_error( $childterms ) ){ ?>
							<ul class="sub-category">
							<?php  foreach ( $childterms as $childterm ) {?>
								<li class="category-child"><?php echo '<a href="' . esc_url( get_term_link( $childterm ) ) . '" alt="' . esc_attr( sprintf( __( 'View all post filed under %s', 'my_localization_domain' ), $childterm->name ) ) . '">' . $childterm->name . '</a>';?></li>
							<?php } ?>
							</ul>
						<?php } ?>
						</li>
						<?php } ?>
					</ul>
				</div>
			<?php } ?>
			<?php
			$terms1 = get_terms('category', array(
				'hide_empty' => false,
				'parent'	=>	0,
				'number'	=> 4,
				'offset'	=> 4, 
			) );

			?>			
			<!-- / -->			
			<?php if ( ! empty( $terms1 ) && ! is_wp_error( $terms1 ) ){ ?>
				<div class="col-md-6 col-sm-6 right">
					<ul id="category-items">
						<?php  foreach ( $terms1 as $term ) {
							$term_id = $term->term_id;
							$childterms = get_terms('category', array(
							'hide_empty' => false,
							'parent'	=>	$term_id,
							) );
						?>
						<li class="category-item"><i class="fa fa-chevron-down left" aria-hidden="true"></i><h3> <?php echo $term->name;?> </h3>
						<?php if ( ! empty( $childterms ) && ! is_wp_error( $childterms ) ){ ?>
							<ul class="sub-category">
							<?php  foreach ( $childterms as $childterm ) {?>
								<li class="category-child"><?php echo '<a href="' . esc_url( get_term_link( $childterm ) ) . '" alt="' . esc_attr( sprintf( __( 'View all post filed under %s', 'my_localization_domain' ), $childterm->name ) ) . '">' . $childterm->name . '</a>';?></li>
							<?php } ?>
							</ul>
						<?php } ?>
						</li>
						<?php } ?>
					</ul>
				</div>
			<?php } ?>
			<?php
			$terms2 = get_terms('category', array(
				'hide_empty' => false,
				'parent'	=>	0,
				'number'	=> 4,
				'offset'	=> 8,
			) );

			?>		

 

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

 

هر کدی به دهنم رسید تست کردم اما نتونستم :D

 

ممنون میشم یه کمکی کنید و بگید که چه کنم 

 

لینک به ارسال

سلام و درود

 

این آرایه ای که به عنوان آرگومان دادی به تابع get_terms توی آرایه دو تا کلید هست مربوط به exclude کردن یکی exclude هست که میای بهش آیدی یه دسته یا چند تا دسته رو به صورت آرایه میدی و اونا رو از لیست در میاری یکی هم exclude_tree که علاوه بر آیدی ای که دادی تمامی دسته های وابسته به اون دسته هم در میاره از لیست.

$term = get_terms(array(
	'taxonomy' => 'category',
	'exclude' => array(1, 2, 3),
	'exclude_tree' => array(10)
));

 

موفق باشید

لینک به ارسال

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

 

راحت بهم بگو چه کدی اضافه کنم که یه دسته رو نشون ندم همین :D

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

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

راحت بهم بگو چه کدی اضافه کنم که یه دسته رو نشون ندم همین :D

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

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

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

دسته مادر هستش

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

دسته مادر هستش

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

$terms = get_terms('category', array(
	'hide_empty' => false,
	'parent'	=>	0,
	'number'	=> 4,
	'exclude_tree' => array(1) // یعنی مادری که آیدیش 1 ئه رو با زیر دسته هاش فیلتر کن
) );

$terms1 = get_terms('category', array(
	'hide_empty' => false,
	'parent'	=>	0,
	'number'	=> 4,
	'offset'	=> 4,
	'exclude_tree' => array(1) // یعنی مادری که آیدیش 1 ئه رو با زیر دسته هاش فیلتر کن
) );

$terms2 = get_terms('category', array(
	'hide_empty' => false,
	'parent'	=>	0,
	'number'	=> 4,
	'offset'	=> 8,
	'exclude_tree' => array(1) // یعنی مادری که آیدیش 1 ئه رو با زیر دسته هاش فیلتر کن
) );

 

لینک به ارسال

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

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

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

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

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

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

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

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

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