-
June 15th, 2017, 13:20
#1
سوال در مورد wp_query
سلام و درود
سوال اول : اگر ما دو تا حلقه wp_query توی هم دیگه داشته باشیم به شکل زیر:
کد PHP:
$query = new WP_Query($args);
while ($query->have_posts()) :
$inner_query = new WP_Query($inner_args);
while ($inner_query->have_posts()) :
// do something
endwhile;
endwhile;
باید برای هر wp_query یه wp_reset_postdata گذاشت یا فقط برای حلقه بیرونی بذاریم کافیه؟
سوال دوم : اگر به شکل زیر از wp_query استفاده کنیم:
کد PHP:
$query = new WP_Query(array('meta_key' => 'my_meta_key', 'meta_value' => 'my_meta_value');
echo $query->found_posts;
یعنی فقط از حلقه اطلاعات بگیریم که در مثال بالا تعداد پست رو گرفتم بازم احتیاج به wp_reset_postdata هست؟
تشکر
ویرایش توسط naghmesra : June 15th, 2017 در ساعت 13:41
-
-
June 15th, 2017 13:20
# ADS
-
June 15th, 2017, 14:26
#2
عضو دائم
پاسخ : سوال در مورد wp_query
سلام، در سوال اول چون wp_query دوم داخل حلقه است و دوباره شی wp query ساخته می شود reset post data ضروری هست پس از پایان حلقه (دوم) قرار بگیرد، اگر بعد از wp_query اول (که داخل حلقه پست هایش دوباره wp_query زده بودید) wp_query دیگری نمیسازید و استفاده نمیکنید reset post data ضروری نیست. نکته ای که هست شامل سوال دومتون هم میشه، هر زمان بعد از ساخت شی wp_query، دوباره شی دیگری از wp_query ساختید reset post data لازم است.
ویرایش توسط T.Toosi : June 15th, 2017 در ساعت 14:27
-
تعداد تشکر ها ازT.Toosi به دلیل پست مفید
-
June 15th, 2017, 14:33
#3
پاسخ : سوال در مورد wp_query
درود مجدد
پس طبق توضیح شما wp_reset_postdata صرفا برای حلقه ای استفاده میشود که قبلش حلقه wp_query دیگری بوده است؟
در مورد دوم چون while نداره wp_reset_postdata رو کجای حلقه باید استفاده کرد؟
تشکر
-
-
June 16th, 2017, 02:47
#4
پاسخ : سوال در مورد wp_query
جمع بندی تاپیک جهت استفاده دوستان در آینده
پس طبق توضیح شما
wp_reset_postdata صرفا برای حلقه ای استفاده میشود که قبلش حلقه
wp_query دیگری بوده است؟
در مورد دوم چون
while نداره
wp_reset_postdata رو کجای حلقه باید استفاده کرد؟
طبق مستندات وردپرس در رابطه با کلاس WP_Query تابع wp_reset_postdata زمانی باید فراخوانی شود که ما در حلقه خود از تابع the_post استفاده کرده باشیم. در نتیجه در مورد سوال دوم پست اول این تاپیک احتیاجی به استفاده از تابع wp_reset_postdata نیست.
موفق باشید
-