最近折腾WordPress,把以前自己收藏的一些文章整理了下,都发布到自己的小站上.

今日遇到一篇文章死活无法发布,怎么搞都是定时状态.改包状态到草稿,可发布按钮那始终显示定时.

切到文章页面或者定时分类,点快速编辑,这里倒是有更改选中,可更新后返回再看,还是定时状态…

本想将此文章删除重发,但想想之前已经发布过了,且有人访问了,还是麻烦点,打开了phpmyadmin修改了下mysql,具体方法如下:

登陆你的空间管理后台,打开phpmyadmin管理界面,选中数据库,点击wp_posts(默认叫这名,前缀是啥自己装数据库的时候可以定义).

打开此表可见记录了我们网站所有的文章,当然,也包括了这篇文章的状态,我们可以逐页翻页找,当然也可以用语句找了,推荐用语句,只要简单的select就好了:

1
2
3
SELECT *
FROM `wp_posts`
WHERE post_title = '文章标题'

点击执行,我们可以找到这篇文章相关的数据,其中有个"post_status"字段,此字段下大致有:inherit,future,draft,future等状态,如果你的文章是定时的那一定是future状态了.

知道各状态的字段,那么我们有较多文章时可以用查找状态语句列出来:

1
2
3
4
SELECT *
FROM wp_posts
WHERE `post_status` LIKE 'future'
LIMIT 0 , 30

此时我们需将future更改为发布:publish,更改方法可以用语句,也可以直接点击左侧的编辑图标,更改语句如下:

1
2
UPDATE `数据库名`.`wp_posts` SET `post_status` = 'publish'
WHERE `wp_posts`.`ID` =491 LIMIT 1 ;

id=491是我文章的id,请换成自己文章的id.如果是较多文章,那么可以用以下语句一次完成:

1
2
UPDATE `数据库名`.`wp_posts` SET `post_status` = 'publish
WHERE `post_status` LIKE 'future'

不放心用sql语句,干脆用图形界面方法更改文章状态。同样,改完点执行,然后返回你的网站前台或者后台即可看到效果.

当然,定时发布不成功看下你的WordPress设置的时区是否对的,在设置>常规>时区,那里可见当前时间,调整时区或者耐心等待,实在不行就按以上方法改数据库吧.