WORDPRESS您没有足够的权限访问该页面解决方法

解决方法

1.如果修改了wp-config.php文件中的前缀名和数据库的表名,数据库中需要做同步;

表名“前缀名_options”和表名“前缀名_usermeta”将”wp_”前缀修改为新的前缀。
表名“前缀名_options”中“wp_user_roles”要修改为“新前缀名_user_roles”。

在表“前缀名_usermeta”,修改的地方比较多,分别把 wp_capabilities,wp_usersettings,wp_user_level,wp_usersettingstime和 wp_autosave_draft_ids修改为对应的“前缀名_capabilities”等。

网上大部分是修改表前缀的教程,数据库没有修改过表前缀所以应该不是这个问题,检查数据库权限修改修复。

将wp_usermeta表中
user_id填写管理员的ID
wp_capabilities字段值修改为a:1:{s:13:”administrator”;b:1;}
wp_user_level值修改为10

保存后后台恢复访问。

实用WordPress后台MySQL操作命令

为所有文章和页面添加自定义字段
这段代码可以为WordPress数据库内所有文章和页面添加一个自定义字段。 你需要做的就是把代码中的‘UniversalCutomField‘替换成你需要的文字,然后把‘MyValue‘改成需要的值。

INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
 SELECT ID AS post_id, 'UniversalCustomField'
 AS meta_key 'MyValue AS meta_value FROM wp_postsWHERE ID NOT IN (SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField');

如果只需要为文章添加自定义字段,可以使用下面这段代码:

INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
 SELECT ID AS post_id, 'UniversalCustomField'
 AS meta_key 'MyValue AS meta_value
 FROM wp_posts WHERE ID NOT IN
 (SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField')`` AND post_type = 'post';

如果只需要为页面添加自定义字段,可以使用下面这段代码:

INSERT INTO wp_postmeta (post_id, meta_key, meta_value)
 SELECT ID AS post_id, 'UniversalCustomField'
 AS meta_key 'MyValue AS meta_value
 FROM wp_posts WHERE ID NOT IN
 (SELECT post_id FROM wp_postmeta WHERE meta_key = 'UniversalCustomField')AND `post_type` = 'page';

删除文章meta数据
当你安装或删除插件时,系统通过文章meta标签存储数据。 插件被删除后,数据依然会存留在post_meta表中,当然这时你已经不再需要这些数据,完全可以删除之。 记住在运行查询前把代码里的‘YourMetaKey‘替换成你需要的相应值。

DELETE FROM wp_postmeta WHERE meta_key = 'YourMetaKey';

查找无用标签
如果你在WordPress数据库里执行查询删除旧文章,和之前删除插件时的情况一样,文章所属标签会留在数据库里,并且还会出现在标签列表/标签云里。 下面的查询可以帮你找出无用的标签。

SELECT * From wp_terms wtINNER JOIN wp_term_taxonomy wtt ON wt.term_id=wtt.term_id WHERE wtt.taxonomy='post_tag' AND wtt.count=0;

批量删除垃圾评论
执行以下SQL命令:

DELETE FROM wp_comments WHERE wp_comments.comment_approved = 'spam';

批量删除所有未审核评论
这个SQL查询会删除你的网站上所有未审核评论,不影响已审核评论。

DELETE FROM wp_comments WHERE comment_approved = 0

禁止评论较早文章
指定comment_status的值为open、closed或registered_only。
此外还需要设置日期(修改代码中的2010-01-01):

UPDATE wp_posts SET comment_status = 'closed' WHERE post_date < '2010-01-01' AND post_status = 'publish';

停用/激活trackback与pingback
指定comment_status的值为open、closed或registered_only。
向所有用户激活pingbacks/trackbacks:

UPDATE wp_posts SET ping_status = 'open';

向所有用户禁用pingbacks/trackbacks:

UPDATE wp_posts SET ping_status = 'closed';

激活/停用某一日期前的Pingbacks & Trackbacks
指定ping_status的值为open、closed或registered_only。
此外还需要设置日期(修改代码中的2010-01-01):

UPDATE wp_posts SET ping_status = 'closed' WHERE post_date < '2010-01-01' AND post_status = 'publish';

删除特定URL的评论
当你发现很多垃圾评论都带有相同的URL链接,可以利用下面的查询一次性删除这些评论。%表示含有“%”符号内字符串的所有URL都将被删除。

DELETE from wp_comments WHERE comment_author_url LIKE "%nastyspamurl%" ;

识别并删除“X”天前的文章
查找“X”天前的所有文章(注意把X替换成相应数值):

SELECT * FROM `wp_posts` WHERE `post_type` = 'post'AND DATEDIFF(NOW(), `post_date`) > X

删除“X”天前的所有文章:

DELETE FROM `wp_posts` WHERE `post_type` = 'post'AND DATEDIFF(NOW(), `post_date`) > X

删除不需要的短代码
当你决定不再使用短代码时,它们不会自动消失。你可以用一个简单的SQL查询命令删除所有不需要的短代码。 把“tweet”替换成相应短代码名称:

UPDATE wp_post SET post_content = replace(post_content, '[tweet]', '' ) ;

将文章转为页面
依然只要通过PHPMyAdmin运行一个SQL查询就可以搞定:

UPDATE wp_posts SET post_type = 'page' WHERE post_type = 'post'

将页面转换成文章:

UPDATE wp_posts SET post_type = 'post' WHERE post_type = 'page'

更改所有文章上的作者属性
首先通过下面的SQL命令检索作者的ID:

SELECT ID, display_name FROM wp_users;

成功获取该作者的新旧ID后,插入以下命令,记住用新作者ID替换NEW_AUTHOR_ID,旧作者ID替换OLD_AUTHOR_ID。

UPDATE wp_posts SET post_author=NEW_AUTHOR_ID WHERE post_author=OLD_AUTHOR_ID;

批量删除文章修订历史
文章修订历史保存可以很实用,也可以很让人烦恼。 你可以手动删除修订历史,也可以利用SQL查询给自己节省时间。

DELETE FROM wp_posts WHERE post_type = "revision";

停用/激活所有WordPress插件
激活某个插件后发现无法登录WordPress管理面板了,试试下面的查询命令吧,它会立即禁用所有插件,让你重新登录。

UPDATE wp_options SET option_value = 'a:0:{}' WHERE option_name = 'active_plugins';

更改WordPress网站的目标URL
把WordPress博客(模板文件、上传内容&数据库)从一台服务器移到另一台服务器后,接下来你需要告诉WordPress你的新博客地址。
使用以下命令时,注意将http://www.old-site.com换成你的原URL,http://blog.doucube.com换成新URL地址。
首先:

UPDATE wp_options
SET option_value = replace(option_value, 'http://www.old-site.com', 'http://hjyl.org')
WHERE option_name = 'home' OR option_name = 'siteurl';

然后利用下面的命令更改wp_posts里的URL:

UPDATE wp_posts SET guid = replace(guid, 'http://www.old-site.com','http://hjyl.org);

最后,搜索文章内容以确保新URL链接与原链接没有弄混:

UPDATE wp_posts SET post_content = replace(post_content, ' http://www.old-site.com ', ' http://hjyl.org ');

更改默认用户名Admin
把其中的YourNewUsername替换成新用户名。

UPDATE wp_users SET user_login = 'YourNewUsername' WHERE user_login = 'Admin';

手动重置WordPress密码
如果你是你的WordPress网站上的唯一作者,并且你没有修改默认用户名, 这时你可以用下面的SQL查询来重置密码(把其中的PASSWORD换成新密码):

UPDATE `wordpress`.`wp_users` SET `user_pass` = MD5('PASSWORD')
WHERE `wp_users`.`user_login` =`admin` LIMIT 1;

搜索并替换文章内容
OriginalText换成被替换内容,ReplacedText换成目标内容:

UPDATE wp_posts SET `post_content` = REPLACE (`post_content`, 'OriginalText','ReplacedText');

更改图片URL
下面的SQL命令可以帮你修改图片路径:

UPDATE wp_postsSET post_content = REPLACE (post_content, 'src=”http://www.oldurl.com', 'src=”http://hjyl.org');

自定义自己的WordPress后台显示信息

Functions.php由于采用了app插件式的管理后,加载新的functions函数变得轻而易举。今天我们就来添加一个小的app代码, 实现进入wordpress后台的一些设置修改。本文涉及三个地方的修改,一个是修改Wordpress后台顶部的logo信息、一个是修改 WordPress后台底部的显示信息,还有一个是修改Wordpress控制面板的显示信息。

1. 修改Wordpress后台顶部的logo:

在进入wordpress后台时,左上角突出显示的总是大大的Wordpress的默认图标。那么有什么办法可以将这个图标改为自己的图标,从而使得网站变得更加专业呢?其实,非常简单,只需要将下面代码复制到functions.php中即可:

    /* 给WordPress后台控制面板添加自定义logo */
add_action(‘admin_head’, ‘my_custom_logo’);
function my_custom_logo() {
echo ‘

‘;
}

从上面的代码可以看到,这个图标文件其实就是一个名为custom-logo.gif的文件,你将自己画好的这个图片文件上传到主题的images文件夹下,就可以了。简单吧?

2. 修改WordPress后台控制面板的底部信息

相同的,我们可以通过上面的方法,再在functions.php里加入下面这段代码,就可以修改WordPress后台控制面板底部的信息了。这 样你的站点看起来就更加专业了,你甚至可以将Wordpress的那些底部信息都去掉,而换上你自己的说明信息。我就是这样做的,下面是修改代码:

    function modify_footer_admin () {
echo ‘主题修改:皇家元林‘;
}
add_filter(‘admin_footer_text’, ‘modify_footer_admin’);

修改的内容都在第二行echo后面的那一段上了。其实你还可以写入更多的html代码,自己发挥吧。

3. 修改和自定义Wordpress控制面板主页面的信息

进入Wordpress开发的博客平台的后台,总是可以在控制面板的页面看到很多信息。其实这些信息是可以进行自定义的。方法也是在 functions.php里添加代码,如下(下面是傲文世界后台的显示内容,注册用户可以登录后进入后台看到)。你只需根据自己的需要修改相应的 html代码就可以了。

    /* 修改和自定义WordPress控制面板模块 */
if(!function_exists(‘wpjam_modify_dashboard_widgets’)){
add_action(‘wp_dashboard_setup’, ‘wpjam_modify_dashboard_widgets’ );
function wpjam_modify_dashboard_widgets() {
global $wp_meta_boxes;
wp_add_dashboard_widget(‘wpjam_dashboard_widget’, ‘欢迎登录与投稿’, ‘wpjam_dashboard_widget_function’);
}
function wpjam_dashboard_widget_function() {?>

转自http://www.allwinworld.net/functions-define-wordpress-backen-background-display-information/

WordPress后台自定义文章类型插件[2.0.5]

WordPress后台自定义文章类型插件

WordPress后台自定义文章类型插件,这个使用超级简单的WordPress插件,易于使用的界面,可设置注册类型,编辑创建后台类型,控制所有文章类型的属性和设置选项,文章类型自动创建的主题模板文件等等,使用之前请先看说明文件。

插件主要特点:

  • 易于使用的界面
  • 可设置注册类型
  • 编辑创建后台类型
  • 控制所有文章类型的属性和设置选项
  • 文章类型自动创建的主题模板文件
  • 详细TEXT说明文档
  • 点这里查看详细特点,查看后台截图

WordPress后台自定义文章类型插件演示地址:

http://codecanyon.net/item/easy-custom-content-types-for-wordpress/234182?ref=mordauk

WordPress后台自定义文章类型插件[v2.0.5]下载地址【大小:46.51 KB】:

下载地址
转自:http://www.weidea.net/post/5007

如何为WordPress 后台添加自定义域面板

很多WordPress新手对于自定义域,不知道是神马东东,那我们来说说神马是WordPress的自定义域。
WordPress的自定义域功能可以让你的博客具有强大的功能,实现各种字段的添加,但WordPress后台自带的自定义域实在不直观,本教程教会你如何在WordPress 后台添加自定义域面板。
如果嫌麻烦,可以直接使用插件:Custom Field Template,它可以实现自定义域的界面化,挺方便。如果不想用插件,就接着看:

下面是效果:

在主题的 functions.php 中插入代码,当然你要根据自己的需要修改:

一、定义 myCustomFields 类

if ( !class_exists(‘myCustomFields’) ) {
class myCustomFields {
/**
* @var string $prefix 自定义栏目名的前缀
*/
var $prefix = ‘_mcf_’;
/**
* @var array $postTypes 包含了标准的“文章”、“页面”和自定义文章类型的数组,自定义栏目面板将出现在这些文章类型中
*/
var $postTypes = array( “page”, “post” );

如果自定义栏目名是以下划线(_)开头的,它将在 WordPress 自带的“自定义栏目”面板中隐藏。如果想保留 WordPress 自带“自定义栏目”面板,建议使用这个方法。

二、定义所有的自定义栏目

/**
* @var array $customFields 定义了所有的自定义栏目
*/
var $customFields = array(
array(
“name” => “block-of-text”,
“title” => “多行文本”,
“description” => “”,
“type” => “textarea”,
“scope” => array( “page” ),
“capability” => “edit_pages”
),
array(
“name” => “short-text”,
“title” => “单行文本”,
“description” => “”,
“type” => “text”,
“scope” => array( “post” ),
“capability” => “edit_posts”
),
array(
“name” => “checkbox”,
“title” => “复选框”,
“description” => “”,
“type” => “checkbox”,
“scope” => array( “post”, “page” ),
“capability” => “manage_options”
)
);

所有的自定义栏目都应该写在这里,当然要遵循这样的格式,不过这里只给出了单行文本框、多行文本框、富文本框、复选框四种类型,您可以在稍后自由添加。每一个字段包含的值为:
01: name: 自定义栏目的名称。这个名称将加上前缀存储在数据库中;
02: title : 用于显示在自定义栏目面板的标题;
03: description : 显示在每个自定义栏目的下方,给出提示;
04: type : 定义了显示的类型,默认为单行文本(text);
05: scope : 定义了每个自定义栏目的作用范围,例如 post 文章、page 页面;
06: capability : 定义了编辑每个自定义栏目需要的权限,如果对此不太了解,参见这篇文章:《Users, roles, and capabilities in WordPress》。

三、用于初始化的相关函数

/**
* 用于兼容 PHP 4 的构造函数
*/
function myCustomFields() { $this->__construct(); }
/**
* 用于 PHP 5 的构造函数
*/
function __construct() {
add_action( ‘admin_menu’, array( &$this, ‘createCustomFields’ ) );
add_action( ‘save_post’, array( &$this, ‘saveCustomFields’ ), 1, 2 );
// 如果想要保留 WordPress 自带“自定义栏目”面板,请注释下一行
add_action( ‘do_meta_boxes’, array( &$this, ‘removeDefaultCustomFields’ ), 10, 3 );
}
/**
* 移除 WordPress 自带“自定义栏目”面板
*/
function removeDefaultCustomFields( $type, $context, $post ) {
foreach ( array( ‘normal’, ‘advanced’, ‘side’ ) as $context ) {
foreach ( $this->postTypes as $postType ) {
remove_meta_box( ‘postcustom’, $postType, $context );
}
}
}
/**
* 创建新的“自定义栏目”面板
*/
function createCustomFields() {
if ( function_exists( ‘add_meta_box’ ) ) {
foreach ( $this->postTypes as $postType ) {
add_meta_box( ‘my-custom-fields’, ‘Custom Fields’, array( &$this, ‘displayCustomFields’ ), $postType, ‘normal’, ‘high’ );
}
}
}

其中包括了构造函数(注意 PHP 4 与 PHP 5 承认的构造函数并不相同,而 PHP 4 似乎没有析构函数),向 admin_menu 添加钩子以显示自定义栏目面板,向 save_post 添加钩子以在文章保存时也能保存自定义栏目中的信息,向 do_meta_boxes 添加钩子以移除 WordPress 自带“自定义栏目”面板(如果不需要可以将之注释)。

四、权限检查

/**
* 显示新的“自定义栏目”面板
*/
function displayCustomFields() {
global $post;
?>

wp_nonce_field( ‘my-custom-fields’, ‘my-custom-fields_wpnonce’, false, true );
foreach ( $this->customFields as $customField ) {
// 范围检查
$scope = $customField[ ‘scope’ ];
$output = false;
foreach ( $scope as $scopeItem ) {
// 原作者在此处使用了 switch,估计是修改时忘记删掉了
if ( $post->post_type == $scopeItem ) {
$output = true;
break;
}
}
// 权限检查
if ( !current_user_can( $customField[‘capability’], $post->ID ) )
$output = false;

这一段是显示新的“自定义面板”的函数 displayCustomFields(),wp_nonce_field() 函数生成了一个包含随机数的隐藏字段,用于检查提交的内容来自合法的位置。首先检查的是自定义栏目的作用范围,如注释中所述,原作者在此处使用了 switch,估计是修改时忘记删掉了(因为前一个版本检查方式与现在有一些差别)。接着检查的是权限,检查通过后才会显示这个自定义栏目。

五、输出自定义栏目

// 如果允许,则输出
if ( $output ) { ?>

switch ( $customField[ ‘type’ ] ) {
case “checkbox”: {
// 输出复选框
echo ‘‘;
echo ‘‘;
// 输出富文本编辑框
if ( $customField[ ‘type’ ] == “wysiwyg” ) { ?>

break;
}
default: {
// 输出单行文本框
echo ‘