رفتن به مطلب

register_setting


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

سلام دوستان

میخواستم بدونم register_setting به چه دردی میخوره؟

میدونم برای ثبت کردن یه سری تنظیمات اما این تنظیمات چی هستن و کجا ثبت میشن؟

اصلا چرا باید اینا ثبت بشن؟

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

اگه بشه با مثال برام توضیح بدید عالی میشه

مرسی

لینک به ارسال

register_setting یه فیلد تنظیمات رو توی wordpress ثبت میکنه و اگه آشنایی بیشتری با وردپرس داشته باشید، این امکان رو به شما میده که به راحتی یه برگه تنظیمات افزونه یا پوسته برای خودتون ایجاد کنید. علاوه بر این یک تابع sanitization هم از شما میخواد که تنظیمات پاک و بدون شل و ویروس ذخیره بشند.

اطلاعات بیشتر

لینک به ارسال

برای مدیریت تنظیمات پلاگین یا قالبتون هست

تنظیمات خاصی نیستن

این تابع به تنهایی کاربرد نداره و با چند تابع دیگه بکار برده میشه

settings_fields

do_settings_sections

که کار مقدار دهی اولیه و ذخیره سازی رو برای شما انجام میده

<?php
// create custom plugin settings menu
add_action('admin_menu', 'baw_create_menu');

function baw_create_menu() {

//create new top-level menu
add_menu_page('BAW Plugin Settings', 'BAW Settings', 'administrator', __FILE__, 'baw_settings_page',plugins_url('/images/icon.png', __FILE__));

//call register settings function
add_action( 'admin_init', 'register_mysettings' );
}


function register_mysettings() {
//register our settings
register_setting( 'baw-settings-group', 'new_option_name' );
register_setting( 'baw-settings-group', 'some_other_option' );
register_setting( 'baw-settings-group', 'option_etc' );
}

function baw_settings_page() {
?>
<div class="wrap">
<h2>Your Plugin Name</h2>

<form method="post" action="options.php">
<?php settings_fields( 'baw-settings-group' ); ?>
<?php do_settings_sections( 'baw-settings-group' ); ?>
<table class="form-table">
<tr valign="top">
<th scope="row">New Option Name</th>
<td><input type="text" name="new_option_name" value="<?php echo esc_attr( get_option('new_option_name') ); ?>" /></td>
</tr>

<tr valign="top">
<th scope="row">Some Other Option</th>
<td><input type="text" name="some_other_option" value="<?php echo esc_attr( get_option('some_other_option') ); ?>" /></td>
</tr>

<tr valign="top">
<th scope="row">Options, Etc.</th>
<td><input type="text" name="option_etc" value="<?php echo esc_attr( get_option('option_etc') ); ?>" /></td>
</tr>
</table>

<?php submit_button(); ?>

</form>
</div>
<?php } ?>

http://codex.wordpress.org/Creating_Options_Pages

لینک به ارسال

هیچی اون از اون روش رفته این از این روش

خودم به شخصه هیچ وقت از register_setting استفاده نمیکنیم

به جاش از get_option و update_option استفاده میکنم

لینک به ارسال

مرسی

پس کلا فرقی نمیکنه!

من چنتا سایت خارجکی دیدم register_setting استفاده کردن

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

الان به گمانم update_option کار رجیستر رو انجام بده درسته؟

ضمنا تو کد شما برای مقصد فرم options.php استفاده کردید اما اون آموزش مقصد نزاشته یعنی action خالیه!

ویرایش شده توسط rn o j t a b a
لینک به ارسال

ببینین وقتی شما از register_setting استفاده میکنید اکشن فورم به options.php میره و کار ذخیره سازی و ... رو options.php انجام میده و شما هیچ دسترسی یا مدیریتی روی عملیات ذخیره سازی ندارید

اما با استفاده از update_option کار ذخیره سازی رو خودتون انجام میدید

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...