باسلام و احترام
من میخ واهم یک افزونه که کاربر در سمت تنظیمات آن رنگی را انتخاب میکند و اطلاعات را ذخیره میکند طراحی کنم.
هنگامی که از اینپوت color استفاده میکنم و مراحل آموزش را کامل انجام میدهم و روی دکمه ذخیره سازی تغییرات میزنم اطلاعات ریست میشود!!!!!!!
اما وقتی var_dump میگیرم میبینم اطلاعات ذخیره شده اما با ریلود کردن صفحه اطلاعات میپره
من اینو چجوری درستش کنم؟؟؟
اینا کدامن:
(فایل اصلی افزونه:)
<?php
/*
Plugin Name: افزونه تستی
Plugin URI: https://sarzamin-site.ir
Description: افزونه ای بسیار مفید و کاربردی
Requires at least: WP 4.0.0
Tested up to: WP 4.8.2
Author: صالح عطاری
Author URI: mailto:salehattari1386@gmail.com
Version: 1.0.0
*/
?>
<?php
define( 'SC_DIR', plugin_dir_path( __FILE__ ) );
define( 'SC_URL', plugin_dir_url( __FILE__ ) );
if(is_admin()){
include SC_DIR ."admin.php";
}
?>
functions.php:
<?php
define('SCR_PATH' , get_template_directory() . DIRECTORY_SEPARATOR);
if(is_admin()){
include SCR_PATH.'admin.php';
}
admin.php:
<?php
function scroll_color_setting() {
add_menu_page(
'رنگ اسکرول بار',
'رنگ اسکرول بار',
'manage_options',
'scroll-color',
'scroll_color_settings'
);
}
function scroll_color_settings(){
include "settings.php";
$sc_options = get_option( 'sc_options');
if ( isset( $_POST['scsavedata'] ) ) {
$sc_options['sc_color'] = isset($_POST['sc_color']);
update_option('sc_options' , $sc_options);
};
}
add_action( 'admin_menu', 'scroll_color_setting' );
settings.php:
<div class="wrap">
<h1>تنظیمات افزونه</h1>
<form method="post">
<table class="form-table">
<tr valign="top">
<th scope="row">رنگ اسکرول بار</th>
<td>
<input type="color" name="sc_color" <?php echo $sc_options['sc_color'] ? 'checked':''; ?> />
</td>
</tr>
<tr valign="top">
<th scope="row"></th>
<td>
<input type="submit" class="button" name="scsavedata" value="ذخیره سازی"/>
</td>
</tr>
</table>
</form>
</div>
لطفا راهنمایی کنید که مشکل از کجا است ، کلی آزمایش کردم و دیدم که مشکل از فایل settings.php است ، نکته مهم اینجا است که چگونه اطلاعات اینپوت color را کاری کنم که نپرند؟؟؟