یک ارور جالب: در دسترس نبودن متغییر current plugin status در صفحه ای که اینکلودش کردیم!

پرسیده شده
فعالیت 1379 روز پیش
دیده شده 502 بار
0

این کد مربوط به صفحه ادمین پیج

<?php
add_action('admin_menu', 'wp_api_function');
function wp_api_function(){

  add_menu_page(
      'پلاگین دریافت اخبار',
      'تنظیمات پلاگین دریافت اخبار',
      'manage_options',
      'recive_news',
      'recive_news_functions');

add_submenu_page(
'recive_news',
'تنظیمات عمومی',
'تنظیمات عمومی',
'manage_options',
'general',
'recive_news_general_functions'



);
  };



function recive_news_functions(){
include WP_API_TPL.'admin/menu_page_tpl.php';
$current_plugin_status=get_option('check_if_active_plugin_news');
if(isset($_POST['Save_Settings'])) {
  $is_plugin_active=isset($_POST['MyCheckBox'])  ? 1 : 0;
  add_option('check_if_active_plugin_news', $is_plugin_active);
}
};
function recive_news_general_functions() {
  echo"<h1>تنظیمات عمومی</h1>";
};
 ?>

وو این هم کد مربوط به صفحه منو

<div class="wrap">
<h1>  تنظیمات پلاگین دریافت اخبار
</h1>
<form action="" method="post">
  <label for="MyCheckBox">
    <input  name="MyCheckBox" type="checkbox" id="MyCheckBox"
<?php echo isset($current_plugin_status)&&intval($current_plugin_status)>0 ? 'checked':'';?>>
    فعال سازی افزونه
    <?php var_dump($current_plugin_status) ;?>
  </label>
  <div>

    <button  value="Mybutton" class="button button-primary" type="submit" name="Save_Settings">
      ذخیره سازی اطلاعات</button>
  </div>

</form>
</div>

ممن بعد تلاش های زیاد نتونستم چک باکس رو تیک دار کنم. بعدش که وردامپ گرفتم این متغییر رو در صفحه منو نال میده! ولی توی صفحه ادمین پیج مقدار 1 رو میده! علتش چیه؟

فایل پیوست

Ali sadeghian
Ali sadeghian

26 تیر 99

0
حذف شده

سلام شما چرا فایل menu_page_tpl رو قبل از همه include کردید؟ این فایل باید در آخر تابع قرار بگیره

فایل پیوست

کیوان علی محمدی

توسط

کیوان علی محمدی

28 تیر 99