2017.10.18,米扑博客由 4.2 升级到了4.8版本,时间跨度大概有三年,一直不敢升级,就是害怕修改太麻烦,

但是,由于米扑博客增加了打赏赞助功能,对WordPress定制的记忆和动手能力恢复了许多,所以一并做次大的升级

 

本文,记录了米扑博客在升级过程中的一些关键点,供自己以后升级参考,也分享给有同样需要的人参考。

 

0. WordPress 升级前准备

1. 备份,要备份,必须备份,重要的事说三遍!

2. 备份整个WordPress目录,包括根目录文件、模板文件、插件文件、图片文件等全部核心数据 (必须备份,后面很多地方参考时用到了

3. 备份数据库全库,可选(本人在升级前忘了备份数据库,但是升级仍然没有遇到问题)

 

 

修复一些升级后导致的问题

修复1 

修改登录的默认 WordPress Logo 和 返回首页链接

升级后,登录界面默认为 WordPress Logo

登录界面:https://blog.mimvp.com/wp-login.php

默认为 WordPress Logo,如下图:

如上图,会有Logo和链接两个地方需要修改

 

解决问题1:

分析并修改 Logo,如下图,找到图片的路径、css文件,替换为自己的图片,并修改图片的宽和高即可

查找修改步骤如下:

1. 打开css文件

vim  wp-admin/css/login.min.css

2. 查找标签字符串 ".login h1 a"

3. 找到以 "{background-image:url" 开头的对应行

4. 修改图片为自己的名称,例如:

修改

background-image:none,url(../images/wordpress-logo.svg?ver=20131107)

background-image:none,url(../images/wordpress-logo.png?ver=20171018)

5. 修改自己图片的宽和高,例如:

width:114px;
height:94px;

6. 从自己备份的WordPress文件夹下,找到自己曾经的图片,或上传你的新图片,例如直接拷贝之前的图片:

cp ../../mimvp/wordpress_bk_20171019/wp-admin/images/wordpress-logo.png wp-admin/images/wordpress-logo.png 

 

解决问题2:

直接修改文件 wp-login.php

vim -O wp-login.php ../../mimvp/wordpress_bk_20171019/wp-login.php

找到 "login_header_title" 替换为自己的网址和名称即可,例如: //blog.mimvp.com

 

 

修复2

修改首页、分类页、存档日期页、搜索页的文章摘要

升级后,首页、分类页等显示的文章摘要很多,不规范

解决方法:

1) 登录 WordPress 管理后台

2) 将鼠标指针指向“外观”,点击“编辑”选项,进入主题编辑页面

3) 找到当前主题的首页模板,即“索引页模板”,一般都是index.php,或home.php

4) 在“索引页模板”下找到以下标签内容并注释掉或者删除:

      <?php the_content('Read the rest of this entry &raquo;');   /*引号中的内容也可能有所不同*/ ?>

5) 在(4)中的位置加入以下代码

<?php echo mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 100," [...]<a href='".get_permalink()."' target='_blank'>查看详情 &gt;&gt;"); ?>

其中100就是你要显示的摘要字数,“[…]”是摘要的结尾符,这2个参数可以自行修改,效果如下图:

 

 

修复4

文章的日期格式,默认为中文,格式有点乱

希望都调整为数字格式的日期,样式统一,格式清晰,如下图

解决方法:

1) 进入WordPress根目录,打开 wp-includes/general-template.php

vim wp-includes/general-template.php

2) 找到如下语句:

  $text = sprintf(__(‘%1$s %2$d’), $wp_locale->get_month($arcresult->month), $arcresult->year);

将其修改为:

  $text = sprintf(__(‘%1$s年%2$s月’), $arcresult->year, zeroise(intval($arcresult->month), 2));

       或

  $text = sprintf(__('%1$s-%2$s'), $result->year, zeroise(intval($result->month), 2));             // 推荐

注意:后面的year和month的两个语句的顺序不要搞错,month后面的逗号和数字2之间有一个空格,不要省略了。

3)修改之后,日期效果如下图:

详见米扑博客: https://blog.mimvp.com

 

 

修复5

升级后,后台每页文章数,又恢复到了默认的每页20篇

为了更直观查看文章,希望每页显示50篇文章

解决方法:

1) 进入WordPress根目录,打开wp-admin/includes/post.php

vim wp-admin/includes/post.php

2. 修改参数 $posts_per_page = 20

$per_page = "edit_{$post_type}_per_page";
$posts_per_page = (int) get_user_option( $per_page );
if ( empty( $posts_per_page ) || $posts_per_page < 1 )
    $posts_per_page = 20;    // 此处修改为 50

将20改成你想显示的文章数量

注意: 具体文章数得根据你的先有文章数和主机性能情况量力而行,一般50至100条也就差不多了。

 

 

WordPress 升级后,会出现许多新问题

新问题1

升级后,CKEditor 无法添加媒体, HTML/可视化 也无法切换

分析原因:

一个网站升级wordpress到最新版本后,发现点击“添加媒体”、“可视化/文本编辑模式切换”等功能按钮均失效没反应,原因是wordpress为了提高效率以及加载速度,把要用到的js连接在一起。如果没有结合在一起就会导致那些依赖js的功能失效,而部分主机可能由于环境配置不标准或禁用了某些相关函数,导致这些js无法连接在一起,因此产生了按钮异常等情况。

js 连接在一起的代码

<script type='text/javascript' src='https://blog.mimvp.com/wp-admin/load-scripts.php?c=1&amp;load%5B%5D=hoverIntent,common,admin-bar,heartbeat,autosave,suggest,wp-ajax-response,jquery-color,wp-lists,jquery-ui-core,jquery-ui-widget,j&amp;load%5B%5D=query-ui-mouse,jquery-ui-sortable,postbox,tags-box,underscore,word-count,wp-a11y,post,editor-expand,thickbox,shortcode,backbone,&amp;load%5B%5D=wp-util,wp-backbone,media-models,wp-plupload,mediaelement,wp-mediaelement,media-views,media-editor,media-audiovideo,mce-view,img&amp;load%5B%5D=areaselect,image-edit,svg-painter,wp-auth-check,editor,quicktags,wplink,media-upload&amp;ver=4.4.2'></script>

 

WordPress 官方解释:

Disable Javascript Concatenation

To result in a faster administration area, all Javascript files are concatenated into one URL. If Javascript is failing to work in your administration area, you can try disabling this feature:
define(‘CONCATENATE_SCRIPTS’, false);

 

解决方法:

在网站根目录的wp-config.php文件中,在最末尾一行,添加以下代码:

define('CONCATENATE_SCRIPTS', false);

 

 

新问题2

升级后,后台文章列表出现了“ - 定时” 字样,想去掉

原因分析:

WordPress 升级后,后台文章的状态都会显示出来,例如 定时、置顶等,看上去非常累赘繁琐

 

解决方法:

1. 在WordPress 根目录下搜索其标签字符串 "post-state"

# grep "post-state" wp-admin/ -r  | grep -vE ".svn|.css"
wp-admin/includes/template.php:                 echo "<span class='post-state'>$state$sep</span>";
wp-admin/includes/template.php:                 echo "<span class='post-state'>$state$sep</span>";
wp-admin/includes/class-wp-ms-sites-list-table.php:                             $blog_state .= "<span class='post-state'>$state$sep</span>";
wp-admin/includes/class-wp-posts-list-table.php:                        $format_class = 'post-state-format post-format-icon post-format-' . $format;

2. 修改模板文件并注释

修改模板文件,共注释掉了两处,如下图:

注释掉了两处,再访问后台文章列表,则没有定时、顶置等字样,清爽了许多

 

 

升级小结

1) 提前备份 WordPress 全目录,以及备份WordPress整个数据库

2) 先升级WordPress最新版本,然后逐个升级插件,大约20个左右

3) 升级WordPress时一定要成功,升级一两个插件后一定要验证功能是否正确,方便分批排查

4) 升级后配置文件不对,可对照步骤1)备份的进行参考、验证、修正

5) 升级后遇到新问题,要上网查,逐个解决

6) 多折腾,多总结,写博客,做好备忘录

总体感觉,跨期三年的大升级,做好备份,打好基础,有点技术,一切都很顺利,很轻松!

 

欢迎您访问我的个人博客:

米扑博客: https://blog.mimvp.com

打赏赞助: https://blog.mimvp.com/donate/

 

 

 

参考推荐

自定义WordPress样式

WordPress 首页文章显示摘要

WordPress首页和目录页显示摘要的方法

WordPress:文章归档日期显示格式

WordPress 修改管理后台默认文章显示的数量

WordPress 编辑器插件CKEditor