我正在编写一个 cookie 通知插件,我想知道当我通过 options.php 发布/存储选项并通过 get_option() 使用选项时,是否需要清理输入或转义选项的输出。
我只想创建一个安全的插件。
这是我将如何处理选项的示例:
function formz_register_settings()
{
add_option('formzname', 'guckguck');
register_setting('formz_settings', 'formzname', 'formz_callback');
}
add_action( 'admin_init', 'formz_register_settings' );
function formz_register_options_page() {
add_options_page('Page Title', 'FORMZ', 'manage_options', 'formz', 'create_admin_option_page');
}
add_action('admin_menu', 'formz_register_options_page');
function create_admin_option_page(){
?>
<h1>Formulare bearbeiten</h1>
<hr>
<form method="post" action="options.php">
<?php settings_fields('formz_settings'); ?>
<table class="form-table">
<tr valign="top">
<th scope="row"><label for="formzname">Facebook Pixel ID</label></th>
<td><input class="regular-text code" type="text" id="formzname" name="formzname"
value="<?php echo esc_html(get_option('formzname')); ?>"/></td>
</tr>
</table>
<?php submit_button(); ?>
</form>
<br>
<?php echo esc_html(get_option('formzname')); ?>
<?php
}
?>
然后我使用 get_option('bla'); 在前端显示设置。
options.php 是正确的方法还是 admin-post.php 更好?有什么区别?
基本上我只想知道我的代码是否可以像那样发布。
谢谢!