رفتن به مطلب

مشکل با متاباکس ها


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

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

حالا برای اینکه کاربری که میخاد فیلمی رو ارسال کنه بتونه راحت کارگردان رو انتخاب کنه این ایده به ذهنم رسید که همه مطالب بخش پست تایپ کارگردان هارو توی یک select به عنوان متاباکس نمایش بدم .

بعد از اینکه این کارو کردم بقیه پست تایپ هایی که داشتم مقادیر سیو شدشون از بین میره و سفید میشن و چیزی سیو نمیکنن و حتی خود این select هم سیو نمیشه  .

با استفاده از این کد همه مطالب پست تایپ کارگردان هارو فراخوانی کردم :

<?php 
// the query
$wpb_all_query = new WP_Query(array('post_type'=>'director', 'post_status'=>'publish', 'posts_per_page'=>-1)); ?>

<?php if ( $wpb_all_query->have_posts() ) : ?>
	<?php while ( $wpb_all_query->have_posts() ) : $wpb_all_query->the_post(); ?>
<li data-value="<?php the_title(); ?>" class="option focus"><a class="not-active" id="lop" href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
	<?php endwhile; ?>
	<?php wp_reset_postdata(); ?>

<?php else : ?>
	<p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>

به محض اینکه این کد قرار میگیره توی متاباکس ها ،  مقادیر سیو شده همه متاباکس ها از بین میره و دیگه سیو هم نمیشن .

اون قسمت از کد که مربوط به ریست کردن دیتا هست رو هم حذف کردم ولی تاثیری نداشت . 

مشکل حل شدنی هست ؟

ایا مشکل از کد منه ؟

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

ویرایش شده توسط PRGAME
لینک به ارسال

wp_reset_postdata رو فک کنم اینجا نباس استفاده کرد !

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

<?php wp_reset_query(); ?>

 

ویرایش شده توسط majid1889
  • امتیاز 2
لینک به ارسال
در 5 ساعت قبل، majid1889 گفته است :

wp_reset_postdata رو فک کنم اینجا نباس استفاده کرد !

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


<?php wp_reset_query(); ?>

 

فرقی نکرد .

لینک به ارسال

اگر مشکل از متغییر $post باشه

میتونید قبل از کویری اون رو ذخیره

global $post;
$temp = $post;

و بعد از پایان کد حلقه بازگردانی کنید

$post = $temp;

 

  • امتیاز 3
لینک به ارسال
در 40 دقیقه قبل، Parsa گفته است :

اگر مشکل از متغییر $post باشه

میتونید قبل از کویری اون رو ذخیره


global $post;
$temp = $post;

و بعد از پایان کد حلقه بازگردانی کنید


$post = $temp;

 

میشه کد رو برام تصحیح کنید لطفا ؟

چون من توی برنامه نویسی خیلی مبتدی هستم .

لینک به ارسال

کد داده شده را داخل <?php ?> ابتدا و انتهای کد پست ابتدایی قرار بدید

همین

  • امتیاز 2
لینک به ارسال
در 8 دقیقه قبل، Parsa گفته است :

کد داده شده را داخل <?php ?> ابتدا و انتهای کد پست ابتدایی قرار بدید

همین

استاد دمت گرم . مشکل حل شد . 

میتونم بپرسم که چه مشکلی به وجود اومده بود که همه چیز بهم ریخته بود ؟

لینک به ارسال

مشکل به خاطر این هست توابع از متغییر عمومی post استفاده میکنند و وقتی کویری گرفته میشه مقدارش تغییر میکنه

بهتره قبل کویری ذخیره و بعدش جایگزین بشه با مقدار پیشفرض کویری وردپرس

  • امتیاز 3
لینک به ارسال

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

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



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