رفتن به مطلب

حلقه foreach در argument های کوئری


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

درود . بنده یک کوئری دارم که ارگومنت های کوئریم به صورت زیر هست :

		    $args = array( 'post_type' => 'product' , 'stock' => 1, 'posts_per_page' => 20, 'orderby' =>'date','order' => 'DESC' ,
			'tax_query' => array(
        array(
            'taxonomy'      => 'product_cat',
            'field' => 'tag_id',
            'terms'         => 15,
            'operator'      => 'IN' 
        ))

 

و همچنین یک سری چک باکس دارم که به صورت زیر اطلاعاتش رو دریافت میکنم :

if ( ! empty( $termsl ) && ! is_wp_error( $terms ) ) {
    foreach ( $termsl as $terml ) {
        echo $terml->term_id, ',';
    }
}

 

حالا مشکل اینجاست که من میخام خروجی های این foreach بجای عدد 15 توی کد اول قرار بگیره . چطور باید این کارو بکنم ؟

ممنون میشم راهنماییم کنید .

لینک به ارسال

سلام. قبل از حلقه  یه متغییر خالی به صورت مثلا

$term_ids = '';

تعریف کنید و توی حلقه به جای چاپ کردن (echo) به این صورت درج کنید:

$term_ids += $terml->term_id, ',';

 

  • امتیاز 1
لینک به ارسال
در 15 دقیقه قبل، فرحان گفته است :

سلام. قبل از حلقه  یه متغییر خالی به صورت مثلا


$term_ids = '';

تعریف کنید و توی حلقه به جای چاپ کردن (echo) به این صورت درج کنید:


$term_ids += $terml->term_id, ',';

 

خروجی رو echo کردم ولی خروجی هارو باهم جمع کرد . در حالت عادی خروجی من 21 و 30 هست ولی خروجی که کد شما داد شد 51

لینک به ارسال

ببخشید کدم اشتباه داره.

قبل از حلقه یه آرایه خالی ایجاد کنید.

$term_ids = array();

توی حلقه به جای echo به شکل زیر آیدی ها رو داخل آرایه خالی بریزید.

$term_ids[] = $terml->term_id;

بعدشم هم متغییر term_ids رو به کلید terms میدید.

ویرایش شده توسط mehran-b
اصلاح کد
  • امتیاز 1
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

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



ورود به حساب کاربری
×
×
  • اضافه کردن...