انجمن


عدم ثبت checkbox در تنظیمات افزونه  (۶ نوشته)

  • Mostafa

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۵۲۷۶
    تشکر شده: ۵۷۷۷ بار
    # نوشته شده: ۱۳ سال پیش
    ۱۹ دی ۱۳۸۹ - ۱۱:۴۳

    سلام,
    یک ورودی از نوع checkbox زیر در تنظیمات افزونه داریم:
    <input type="checkbox" name="comment_option" value="1" <?php if ( $comment_option == "1" ) echo ' checked="checked"'; ?> />

    وقتی تیک می‌خوره و صفحه به‌روز می‌شه, خروجی اش درسته! خروجی‌اش 1 می‌شه.
    اما تیکش ثابت نمی‌مونه! و می‌پره!

    این هم تست می‌کنم معکوس می‌شه! (یعنی همیشه فعال می‌مونه)
    <input type="checkbox" name="comment_option" value="1" <?php if ( $comment_option == "1" || $comment_option =="") echo ' checked="checked"'; ?> />

    همه توابع مربوط به settings_fields هم فعال هستن! چون فرم از نوع text جواب می‌ده و ثابت می‌مونه!

  • Mostafa

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۵۲۷۶
    تشکر شده: ۵۷۷۷ بار
    # نوشته شده: ۱۳ سال پیش
    ۱۹ دی ۱۳۸۹ - ۱۵:۰۰

    مشکل از عبارت شرطی بود. حل شد ;)
    if ( $comment_option ))
    باید اینطوری بشه:
    if (get_option('comment_option'))

  • عبدالماجد شه بخش ( ایجباری )

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۱۰۳۱
    تشکر شده: ۱۴۳۲ بار
    # نوشته شده: ۱۳ سال پیش
    ۲۹ بهمن ۱۳۸۹ - ۱۴:۰۶

    خوبه مشکلتون حل شده .
    یه سوال در مورد چک باکس ، من میخواستم تو یه پلاگین یه اکشن تعریف کنم که تو صفحه تنظیمات این بخش فعال شه یعنی اگه تیک بزنه اکشن تعریف شه و اگه نه اونم کار نکنه .
    مثلا :

    <?php
    add_action ('WP_ADMIN', 'addHeaderCode') ; ?>

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

  • Mostafa

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۵۲۷۶
    تشکر شده: ۵۷۷۷ بار
    # نوشته شده: ۱۳ سال پیش
    ۲۹ بهمن ۱۳۸۹ - ۲۳:۵۴

    خب عبدالماجد جان یه دستور شرطی ایجاد کن برای اکشن!

    if ( $checkbox_name == '1')
    add_action ('WP_ADMIN', 'addHeaderCode');

    همانند دستور شرطی بالا هم یک دستور شرطی برای ثابت نگه داشتن چک باکس بزار.

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    عبدالماجد شه بخش ( ایجباری )
  • عبدالماجد شه بخش ( ایجباری )

    آفلاین
    عضو فعال
    تعداد نوشته‌ها: ۱۰۳۱
    تشکر شده: ۱۴۳۲ بار
    # نوشته شده: ۱۳ سال پیش
    ۳۰ بهمن ۱۳۸۹ - ۰۶:۵۴

    ببخشید من اینو گذاشتم

    <?php
    if ( $checkbox_name == '1')
    add_action ('WP_ADMIN', 'admin_panel','addHeaderCode');
    ?>

    خوب برای چک باکس اینو :

    <h2>admin panel tooltip</h2>
    	<input type="checkbox" name="admin_panel" value="1" <?php if (get_option('admin_panel')) echo ' checked="checked"'; ?> />

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

  • Mostafa

    آفلاین
    ناظم
    تعداد نوشته‌ها: ۵۲۷۶
    تشکر شده: ۵۷۷۷ بار
    # نوشته شده: ۱۳ سال پیش
    ۱ اسفند ۱۳۸۹ - ۱۳:۲۷

    admin_panel رو در register_setting قرار دادی؟
    مثلا:

    settings_fields( 'your_options' );
    	function register_mysettings() {
    	register_setting( 'your_options', 'admin_panel' );}

    بعدش, admin_panel رو در:
    <input type="hidden" name="page_options" value="admin_panel" />
    قرار دادی؟

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

    خودم هم علاقه‌ای به برنامه‌نویسی گروهی دارم ;)
    با جیمیل mst404 تماس بگیر

    کاربران زیر به‌خاطر این نوشته تشکر کرده‌اند:
    عبدالماجد شه بخش ( ایجباری )

درباره‌ی این موضوع