Php WordPress中的更新选项
我正在WordPress中创建管理主题选项,除了一个功能“更新选项”外,其他功能都可以完美运行。当我通过选项管理面板进行更改并保存更改时,我会收到消息“选项设置已保存”。但当我检查我的页面时,我看到没有任何更改 以下是我的更新或保存选项代码:Php WordPress中的更新选项,php,wordpress,Php,Wordpress,我正在WordPress中创建管理主题选项,除了一个功能“更新选项”外,其他功能都可以完美运行。当我通过选项管理面板进行更改并保存更改时,我会收到消息“选项设置已保存”。但当我检查我的页面时,我看到没有任何更改 以下是我的更新或保存选项代码: function mytheme_add_admin() { global $themename, $shortname, $options; if ( $_GET['page'] == basename(__FILE__) ) {
function mytheme_add_admin() {
global $themename, $shortname, $options;
if ( $_GET['page'] == basename(__FILE__) ) {
if ( 'save' == $_REQUEST['action'] ) {
foreach ($options as $value) {
update_option( $value['id'], $_REQUEST[ $value['id'] ] );
}
foreach ($options as $value) {
if( isset( $_REQUEST[ $value['id'] ] ) )
{
update_option( $value['id'], $_REQUEST[ $value['id'] ] );
}
else {
delete_option( $value['id'] );
}
}
header("Location: admin.php?page=functions.php&saved=true");
die;
}
else if( 'reset' == $_REQUEST['action'] ) {
foreach ($options as $value) {
delete_option( $value['id'] );
}
header("Location: admin.php?page=functions.php&reset=true");
die;
}
}
add_menu_page($themename, $themename, 'administrator', basename(__FILE__), 'mytheme_admin');
}
function mytheme_add_init() {
}
我的代码怎么了?您忘记了将检索并显示选项值的else语句 以下是一些解释: 关于请求操作的代码仅为带有保存和重置操作的状态,您将错过显示选项值的正常行为 举个小例子:
if('save' == $_REQUEST['action'] ){
// use update_option
}
elseif( 'reset' == $_REQUEST['action'] ){
// use delete_option
}
else{
// use get_option
}
$options = get_option('my_theme_option');
您在函数顶部询问的全局$选项与您需要唯一的名称相关,即:my_theme_options['ID']
,当您检索选项、保存选项时,您需要指定它。
例如:
if('save' == $_REQUEST['action'] ){
// use update_option
}
elseif( 'reset' == $_REQUEST['action'] ){
// use delete_option
}
else{
// use get_option
}
$options = get_option('my_theme_option');
然后要显示您的选项值,您可以使用$options['ID']获得它代码>
因此,要显示输入框,您需要以下内容:
echo '<input name="my_theme_options[ID]" value="'.$options['ID'].'" type="text"/>';
echo';
您需要在foreach循环中使用任何输入或selectform标记来调整它
希望你明白我的意思 你们登记了吗?什么意思?你能解释一下吗?你说什么都没有改变,所以我问的是值是否存储在表中?是的值存储在表中,你能解释一下吗?