wordpress 相关设置和问题处理

作者: 麻辣阁 分类: wordpress 发布时间: 2018-12-01 10:47

首页文章按最后修改时间排序

类似如下代码:

        <?php while ( have_posts() ) : the_post(); ?>

更新为:

        <?php //disorder post by modified time ?>
        <?php $posts = query_posts($query_string . '&orderby=modified');?>
        <?php while ( have_posts() ) : the_post(); ?>

wordpress 换回经典的编辑器

  • 安装插件 Classic Editor
  • 后台菜单 Settings -撰写, 选择 Classic Editor

wordpress 升级要求提供 FTP信息

vi wp-config.php ,添加如下的行. 升级完成后记得注释掉.

/** wordpress升级用*/
define('FS_METHOD','direct');

有可能因为安装了缓存组件等原因, 需要修改设置后重启机器.

wordpress WP_Image_Editor_Imagick 指令注入漏洞修复(5.0版本之前)

编辑 /wp-includes/media.PHP 文件,找到:

$implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_Imagick', 'WP_Image_Editor_GD' ) );

修改为:

$implementations = apply_filters( 'wp_image_editors', array( 'WP_Image_Editor_GD','WP_Image_Editor_Imagick' ) );

即将wordpress的默认 图片处理库优先顺序改为GD优先.

重启web服务器

解决升级 WordPress 时提示”另一更新正在进行”

在数据库命令行下执行如下命令删除相关记录:

delete from wp_options where option_name='core_updater.lock';

解决 nginx 环境下 wordpress 上传大文件时的 http错误问题

在nginx 配置文件中增加如下两行后重启nginx

client_max_body_size 20m;
client_body_timeout 360;

client_max_body_size 是设置nginx服务器允许的上传文件大小,client_body_timeout 设置了超时时间.

开启或者关闭所有文章的评论

开启所有文章的评论:

UPDATE wp_posts SET comment_status = 'open' WHERE comment_status = 'closed'

关闭所有文章的评论:

UPDATE wp_posts SET comment_status = 'closed' WHERE comment_status = 'open'

去掉wordpress修订版本功能并删除历史修订版本

wordpress程序有自动保存文章的功能,就是编辑或修改文章的时候自动保存生成一个修订版本,默认是每分钟1次,主要是方便恢复。如果编辑过程停留得久,会生成很多个修订版本。日积月累,会产生大量的冗余数据,大大加重数据库负担,拖慢数据加载.

1.编辑 wp-config.php

require_once(ABSPATH . 'wp-settings.PHP');

前添加如下一行2行代码:

define('AUTOSAVE_INTERVAL', 36000 );
define('WP_POST_REVISIONS',false);

AUTOSAVE_INTERVAL表示自动保存的时间间隔,36000表示10个小时,时间随意设,1小时差不多也写完了。

2.清除历史修订版本

DELETE FROM wp_posts WHERE post_type = "revision";
DELETE FROM wp_postmeta WHERE meta_key= '_edit_lock';
DELETE FROM wp_postmeta WHERE meta_key ='_edit_last';

后两行表示删除数据库中文章特殊数据表wp_postmeta中meta_key字段为_edit_lock(代表上次修改post的修改时间)和_edit_last(指最后一次编辑时间)的数据

3.重启web服务器

略.

给 wordpress 安装搜狐的畅言

畅言会生成广告显示, 安装前需考虑清楚.

官网:http://changyan.kuaizhan.com

插件方式安装方式比较简单,但自己安装后一直无法登录.

代码安装方法如下:

1.获取代码

访问 http://changyan.kuaizhan.com/install/code/self-adaption ,获取代码,并将代码中的http:// 修改为https://

2.安装代码

修改主题文件 single.php, 在相关代码前添加畅言代码并保存

3.wordpress后台–设置–讨论

取消 允许他人在新文章上发表评论

解决wordpress编辑器中 可视化 和 文本 之间无法相互切换的问题

编辑wp-config.php ,在底部添加以下代码:

define('CONCATENATE_SCRIPTS',false);

去掉wordpress中超链接的下划线

编辑正在使用的主题对应的 style.css文件, 添加如下行即可:

/*去掉链接的下划线*/
a:link{text-decoration: none;}

去掉 wordpress 的升级错误提示

使用WordPress过程中,使用中的插件会不定期进行更新,由于网络等种种原因,在更新插件的时候有可能会出现更新失败,从而出现“自动升级 WordPress 失败 —— 请再试一次”的提示,而这种提示有可能会在插件更新成功后依旧存在,如何删除“自动升级 WordPress 失败 —— 请再试一次”提示呢?

方法其实很简单,WordPress自动升级时会生成一个名字为.MAINTENANCE文件,进入Wordpress根目录下将这个文件删就可去掉这个提示。这个文件的名字也可能是小写的 .maintenance.

如果是Linux 或类unix 环境, 使用ls 可能显示不出该文件, 可以使用 ls -a 命令显示, 然后删除即可.

使用被 wordpress默认隐藏掉的后台链接管理功能(有些升级后的wordpress版本已经恢复该功能,不用再做修改)

编辑 function.php, 在最后一行前增加如下add开头的一行,添加后台显示增加链接的功能,否则小工具中也是看不到链接选项的.

//添加后台显示增加链接的功能
add_filter('pre_option_link_manager_enabled','__return_true');  
?>

这样处理后可以对链接进行分类, 按ID排序显示等操作了.

wordpress后台发布文章或者更新文章很慢的可能的原因排查

有可能是后台安装的插件造成的, 比如baidu sitemap 等,挨个试试,禁掉对应的插件就好了.

也有可能是wordpress 访问google相关的字体等造成的.

在新窗口中打开wordpress中的所有链接

主题的header模版中找到如下标签:

<head>

在其下面加上:

<base target="_blank">

安装 GD Library : 解决 wordpress 中 TimThumb error 无法显示缩略图的问题

如果碰到类似如下缩略图无法显示的提示:

A TimThumb error has occured

The following error(s) occured:
GD Library Error: imagecreatetruecolor does not exist - please contact your webhost and ask them to install the GD library


Query String : src=/wp-content/uploads/2015/12/%E6%97%A5%E8%AE%B0.jpg&h=140&w=205&zc=1
TimThumb version : 2.8.13

直接安装GD库解决, 注意更改为对应的php版本, 不确定的话可以先搜索一下可用的版本:

yum install php5-gd

改变私密文章前缀文字

改变私密文章前缀文字,将下面的代码添加到您的当前主题的 functions.PHP 文件

function change_private_title_prefix() {
    return '>: %s';
}
add_filter('private_title_format', 'change_private_title_prefix');

nginx 下 wordpress 的伪静态规则(直接添加在 server 段的代码里)

        ##伪静态规则
        if (-f $request_filename/index.html){ 
            rewrite (.*) $1/index.html break; 
        } 
        if (-f $request_filename/index.php){ 
            rewrite (.*) $1/index.php; 
        } 
        if (!-f $request_filename){ 
            rewrite (.*) /index.php; 
        } 

解决安装Google XML Sitemaps 后, Sitemap.xml访问报错的问题

报错信息如下:

This page contains the following errors:

error on line 2 at column 6: XML declaration allowed only at the start of the document
Below is a rendering of the page up to the first error.

解决方式: 编辑主题的 模板函数 (functions.php), 删除 ?> 之后的空行.


发表评论

电子邮件地址不会被公开。 必填项已用*标注