WP更新以后就提示建议升级php,目前正在使用不安全的版本7.3.12。还很友好的带了一个升级指南,但是点过去会发现并没有什么卵用。现有的服务器是基于lnmp来提供的服务,于是尝试直接更新php7.4,通过apt install php7.4的方式,安装成功了,修改nginx的cig设置,php也能运行了,但是很不幸的是tmd数据库连不上了,尝试升级数据库,最后以各种失败告终。
Gravatar 头像无法加载
Gravatar(英语:Globally Recognized Avatar)是一项用于提供在全球范围内使用的头像服务。只要你在Gravatar的服务器上上传了你自己的头像,你便可以在其他任何支持Gravatar的博客、论坛等地方使用它。
由于众所周知的原因,头像服务器多数都无法正常访问,不管是http还是https。为了解决头像问题有两个办法:
1.直接禁用头像服务
2.替换头像服务器连接。
第二种情况比较蛋疼的地方在于要找一个可用的镜像比较麻烦,可以通过下面的连接来获取可用连接。
Litespeed Cache https模式下css/js 加载失败
安装litespeed插件并且开启之后,发现原有的页面样式丢失了。导致这个问题的原因在于虽然访问的是https的链接,但是资源文件依旧是http协议加载的,所以就直接挂掉了。解决这个问题最简单的办法应该是开启全站https,但是我并不想这么干,想依旧提供http访问的能力。于是找各种解决方法,网上提供的解决方案包含但不限于下面这几种:
1. 通过插件解决:例如Really Simple SSL等进行样式修复,但是我安装了没有效果。
2.通过修改functions.php添加以下代码(无效):
add_filter('script_loader_src', 'agnostic_script_loader_src', 20,2); function agnostic_script_loader_src($src, $handle) { return preg_replace('/^(http|https):/', '', $src); } add_filter('style_loader_src', 'agnostic_style_loader_src', 20,2); function agnostic_style_loader_src($src, $handle) { return preg_replace('/^(http|https):/', '', $src); }
修改WordPress 文章内分页样式
最近写了一篇比较长的隐私文章,用到了wp的文章分页功能。却发现默认的分页的页面又小又难找。于是想修改wp的默认分页,网上找了下相关的代码基本都是下面的样子:
'
' . __( 'More pages: ', 'textdomain' ) . '',
'after' => '
',
'link_before' => '',
'link_after' => '',
'next_or_number' => 'next',
'separator' => ' | ',
'nextpagelink' => __( 'Next »', 'textdomain' ),
'previouspagelink' => __( '« Previous', 'textdomain' ),
);
wp_link_pages( $args );
?>
但是我尝试了上面的方法并没有任何的效果,通过wp_link_pages( $args );传送的参数没有生效。
WordPress 中文分词搜索
上图是改进之后的搜索效果,wordpress的搜索按照网上的说法做的比较烂,貌似是全字段匹配,于是搜索上面的关键词”ida调试器”就出现了下面的状况,啥都没有:
WordPress 优化404页面
wordpress主题自带的404页面过于简单,只是显示了一个page not found,左侧区域空荡荡的,与右侧的侧边栏搭配丑的一p。于是就尝试进行改造了一下,第一次改造在404页面加了下部的随机文章。代码如下:
<!-- 显示随机文章 --> <h4 class="entry-title"> <?php esc_html_e( 'Random Posts' , 'olsen-light' ); ?> </h4> <div> <?php $args = array( 'numberposts' => 20, 'orderby' => 'rand', 'post_status' => 'publish' ); $rand_posts = get_posts( $args ); foreach( $rand_posts as $post ) : ?> <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?> - <?php the_modified_date(); ?></a></li> <?php endforeach; ?> </div>
BuddyPress Theme Remove Sidebar
主体自带了buddypress插件,于是整体的就多了一个buddypress的成员页面,但是由于我的侧边栏比较长,那么这个页面看起来就非常的蛋疼,左侧的内容只有一点点,右边长的一p。于是就想改一下去掉侧边栏,大致搜了以下没有找到合适的插件,那就只能自己动手了。根据这篇文章的内容可以知道,影响页面的其实是page.php。那么直接对page.php动手,参考这篇文章的内容,可以创建一个子主题来实现相关功能,我没有安装插件也不想创建什么新的子主题了,直接在原始的文件上动手。解决问题的方案也比较简单,判断当前页面是不是buddypress相关的页面然后根据情况进行处理即可。
文章中提到了这么一个函数:bp_is_blog_page(),参考http://hookr.io/functions/bp_is_blog_page/的说明:
You can tell if a page is displaying BP content by whether the current_component has been defined.
更新Blog服务器配置
从14年开始使用这台vps服务器,最近发现jetpack出了问题。貌似是更新php版本之后,新的php-xml模块没有安装,尝试更新相关模块的时候首先要更新epel-release,问题是更新了epel-release之后yum命令就挂了,提示找不到xz!
于是问题就演化成了先有鸡还是先有蛋的问题,如果要解决这个问题那么:
- 删除epel-release 7,安装6,然后yum安装xz,xz安装成功之后更新epel-release
- 直接编译安装xz:
wget https://sourceforge.net/projects/lzmautils/files/latest/download?source=typ_redirect mv download\?source\=typ_redirect xz.gz tar -zxvf xz.gz make &make install