我根据教程创建了一个选项面板。
但每次尝试保存设置时,我都会得到以下结果:
您没有足够的权限访问此页面。
有什么建议可以解决这个问题吗?
(不确定这是否有用,但我正在使用Wordpress 3.1.2)
EDIT:
如果我将代码直接放置在
functions.php
我的主题文件夹中的文件。
我把文件放进去了functions/custom-functions.php
. 我必须更改“标题位置”,不确定如何更改:
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\');
}
最合适的回答,由SO网友:Chip Bennett 整理而成
您正在使用“管理员”角色添加菜单页。您使用的帐户是管理员吗?
注:
1) 您应该使用适当的功能,而不是用户角色。通常,编辑主题选项的适当功能是edit_theme_options
.
2) WordPress有一个已知的bug,manage_options
需要在上提交表单options.php
, 主题设置页面使用。这只是编辑器下面的用户角色的问题,有望在3.2或3.3中解决。
3) 如果这是一个公共主题,您应该使用add_theme_page()
(将子菜单添加到“外观”菜单),而不是add_menu_page()
(这将添加顶级菜单页)。
4) 那篇教程已经相当过时了。