muhmdzarei

php
مشکل php در کدنویسی پوسته , افزونه acf

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

سلام،

در حال ساخت یک قالب آموزشی هستم. در صفحات دوره، لیست دوره ها رو قرار دادیم که کاربر ( بعد از شرایطی ) بر روی محتوا و درس مورد نظرش کلیک کنه و صفحه به قسمت ویدیوپلیر اسکرول بشه ولینک این درس با لینک قبلی جایگزین بشه ( با js ).

مشکلمون در حقیقت اینه که اون  "بعد از شرایطی"  رو دقیقا نتونستیم اجرا کنیم. مشکل اینجاست که بعضی از درس های دوره رایگان هستند و همه کاربران ( چه خریدار و چه بازدیدکننده) میتوانند این ویدیو را ببینند. خریدار دوره نیز میتواند همه درس ها را ببیند. برای قرار دادن اطلاعات دروس در صفحه قالب ، از افزونه Advanced Custom Fields و قابلیت Nested Repeaters استفاده شده است. شرط هایی که قرار میدیم همش غلطه:(

<ul class="course-accordion">
              <?php if( have_rows('chapters') ): ?>
              <?php while( have_rows('chapters') ): the_row(); ?>
          <li class="accordion-option opened">
            <div class="option-title"><?php the_sub_field('chapter'); ?></div>
            <div class="option-wrapper">
              <ul class="option-items">
              <?php if( have_rows('lessons') ): ?>
               <?php while( have_rows('lessons') ): the_row(); ?>
               <?php if( have_rows('lesson') ): ?>
               <?php while( have_rows('lesson') ): the_row(); ?>
                <li class="option-item"><a><?php if (the_sub_field('Lfree') == "True") {
    echo '1';
} else {
    echo '2';
}
?></a>
                  <div class="pull-right"><span class="duration"></span><a href="#"><i class="zmdi zmdi-hc-2x"></i></a> </div>
                  <a href="#"><?php echo the_sub_field('Lname'); ?></a></li>
                  <?php endwhile; ?>
                  <?php endif; ?>
                  <?php endwhile; ?>
                  <?php endif; ?>
              </ul>
            </div>
          </li>
          <?php endwhile; ?>
          <?php endif; ?>
          </ul>

Lfree برای هر درس تعیین شده که برای این قرار گرفته که اگه این درس رایگان بود لینکش قابل دسترسی باشه. مشکل اینجاست وقتی مقدار Lfree برای هر درس رو چاپ می کنیم یه عبارت مشخصه. بعد شرط if میزاریم که اگر مساوی با اون عبارت بود... اما همیشه شرط غلط اجرا میشه. بنظرم باید مربوط به حلقه while و اینجور چیزا باشه

ممنون از پاسختون

0

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


لینک به پست

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط Reka
       

        برای نوشتن یک متن در فایل از تابع fwrite() در زبان PHP استفاده میشود.

      این تابع دو مقدار ورودی دریافت میکند، مقدار ورودی اول یک شی از نوع File handler (هندلر) بوده و مقدار دوم رشته ای (String) که میخواهیم درون فایل نوشته شود را مشخص میکند.
       
      $txt = "This is a test text!"; fwrite($file, $txt); نوشتن درون فایل با تابع fwrite

      میتوانیم تابع fwrite() را روی یک فایل باز شده چندین بار صدا بزنیم و در ادامه اطلاعات نوشته شده قبلی، اطلاعات دیگری بنویسیم. برای مثال قطعه کد زیر یک متن را در دو خط پشت سر هم درون فایل مینویسد.
      $txt = "This is a test text!"; fwrite($file, txt); fwrite($file, "\n"); fwrite($file, $txt); $txt = "This is a test text!"; fwrite($file, txt); fwrite($file, "\n"); fwrite($file, $txt); در پایان کار با فایل، می بایست فایل باز شده را ببندیم و مشخص کنیم که دیگر با این فایل کاری نداریم. در صورتی که عملیات بستن فایل انجام نشود، تغییرات انجام شده روی فایل اعمال نخواهد شد.

      برای بستن فایل باز شده از تابع fclose() استفاده میکنیم که به عنوان تنها ورودی، متغیر مربوط به File Handler را ورودی میگیرد.
      fclose($file); اکنون فایل options.ini ما محتوایی مشابه زیر خواهد داشت.
      This is a test text! This is a test text!  
    • توسط Reka
      معرفی توابع مهم و کاربردی زیر مجموعه تابع ( ) date :

      در لیست زیر برخی از توابع مهم و کاربردی مرتبط با تابع date را معرفی کرده ایم . این توابع امکانات مهم و سودمندی برای کار با زمان در اختیار ما قرار می دهند.

      1 - checkdate ( ) : این تابع ، تاریخ داده شده به آن را طبق تقویم میلادی بررسی کرده و صحت آن را اعلام می کند .

      2 - date_default_timezone_get ( ) : این تابع زمان محلی ( timezone ) سرور را نمایش می دهد .

      3 - date_default_timezone_set ( ) : این تابع زمان محلی ( timezone ) سرور را بر طبق مقدار داده شده ، تنظیم می کند .

      4 - getdate ( ) : این تابع زمان و تاریخ دقیق جاری سرور را در یک آرایه به کاربر نمایش می دهد .

      پی اچ پی در مورد تبدیل یک رشته به یک تاریخ، کاملا هوشمندانه عمل می کند، بنابراین شما می توانید مقادیر مختلفی مانند زیر را نیز به تابع strtotime بدهید:  
      <?php $d=strtotime("tomorrow"); echo date("Y-m-d h:i:sa", $d) . "<br>"; $d=strtotime("next Saturday"); echo date("Y-m-d h:i:sa", $d) . "<br>"; $d=strtotime("+3 Months"); echo date("Y-m-d h:i:sa", $d) . "<br>"; ?> خروجی:
      2018-07-24 12:00:00am 2018-07-28 12:00:00am 2018-10-23 06:25:33am  
       
    • توسط msprogrammer
      سلام دوستان، من یه منو دیدم توی سایت که با asp.net نوشته شده. امکانش هست کسی کمک کنه که چطور باید این منو رو برای وردپرس پیاده سازی کنم؟
      تا جایی که میدونم باید برای این منو از walker استفاده کرد اگر اشتباه نکنم.
      منبعی برای آموزش walker برای وردپرس دارین؟
      نمیدونم میتونم آدرس سایت رو لینک کنم یا نه بنابراین اسمش رو مینویسم: سایت didital
      ( didital . net )منو که در حالت ویندوز داره رو میخوام. ممنونم
    • توسط noorian
      سلام دوستان
      من درحال طراحی یک افزونه هستم ، و افزونه با فایل استایل با پسوند css سازگار نیست (style.css) پس مجبور شدم فایل استایل رو با پسوند php ایجاد کرده و در فایل اصلی افزونه فراخوانی کنم (include style.php)
       
      اما وقتی افزونه رو نصب میکنم ارور زیر رو میده :
      این افزونه 2405 حرف از خروجی غیرمنتظره در طول فعال‌سازی تولید کرد. اگر پیام اخطار “headers already sent” ، مشکلات مربوط به خوراک‌های پیوند یا مسائل دیگر را دریافت کردید، این افزونه را غیرفعال یا حذف کنید.
      چطوری این مشکل رو رفع کنم؟

    • توسط shayan.m
      سلام
      وقت بخیر
      موقعیت سایدبار سایت من هم صفحه محصول و صفحه نوشته ها سمت چپ می باشد میخوام موقیعت سایدبار هر دو سمت راست باشد؟؟