فرهاد

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

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

سلام

 

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

 

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

 

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

 

0

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


لینک به پست

سلام و درود

 

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

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

 

موفق باشید

1

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


لینک به پست

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

 

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

0

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


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

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

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

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

0

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


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

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

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

0

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


لینک به پست
در 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 ئه رو با زیر دسته هاش فیلتر کن
) );

 

1

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


لینک به پست

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

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

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

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


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

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

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


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