分类: Wordpress

移除WordPress5.9头部自带的id=’global-styles-inline-css’

今天看后台WordPress 5.9版的升级提示,于是就升级了一番。升级之后看看前后台有没有什么异常,然后看到页面顶部输出了一段颜色和字体大小样式。

<style id='global-styles-inline-css' type='text/css'>
body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;…………………………
</style>

样式代码还挺长,上面没高兴展示全,看着好像是WordPress的Gutenberg编辑器或者默认主题相关,我自己两个都不用,索性把那大段的样式去掉。

去掉方法是也很简单,在主题的functions.php里面加上以下代码就行了。

//移出头部global-styles-inline-css
add_action( 'wp_print_styles', function()
{
	wp_deregister_style('global-styles');
} );

移除升级WordPress 6.1后的经典主题样式

升级到 WordPress 6.1后,查看源代码发现在头部出现一个样式代码:

  1. <style id=‘classic-theme-styles-inline-css’ type=‘text/css’>
  2. /*! This file is auto-generated */
  3. .wpblockbutton__link{color:#fff;backgroundcolor:#32373c;borderradius:9999px;boxshadow:none;textdecoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);fontsize:1.125em}.wpblockfile__button{background:#32373c;color:#fff;textdecoration:none}
  4. </style>

大概是为非具有站点编辑功能的WordPress默认主题准备的,但未使用默认主题居然也有这个,莫名其妙,应该是系统自动添加的。

移除方法,将下面代码添加到当前主题函数模板 functions.php中即可:

  1. add_action( ‘wp_enqueue_scripts’, ‘zm_remove_classic_heme_styles’, 20 );
  2. function zm_remove_classic_theme_styles() {
  3. wp_dequeue_style( ‘classic-theme-styles’ );
  4. }

或简化的代码:

  1. add_action( ‘wp_enqueue_scripts’, function() {
  2. wp_dequeue_style( ‘classic-theme-styles’ );
  3. }, 20 );

感觉WordPress开发者又在胡整。

转自知更鸟:移除升级WordPress 6.1后的经典主题样式

修复wp_termmeta doesn’t exist

数据库出了点问题,故障原因不明。wp_termmeta这个表坏了。执行如下SQL语句重新创建这张表:

CREATE TABLE wp_termmeta (
meta_id bigint(20) UNSIGNED NOT NULL,
term_id bigint(20) UNSIGNED NOT NULL DEFAULT '0',
meta_key varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
meta_value longtext COLLATE utf8mb4_unicode_ci
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

使用SQL命令批量替换WordPress站点中图片的URL链接地址

具体操作步骤如下:

1.备份一下数据库。

2.登陆phpMyAdmin,点击“SQL”.

注:如果使用的是云服务器或者VPS,也可以直接在服务器中登陆SQL数据库进行操作。

输入以下SQL命令:

UPDATE YourDBName_posts SET post_content = REPLACE( post_content, 'YourOldUrl', 'YourNewUrl' )

YourDBame 默认是wp

3.点击“执行”就可以替换掉原来的URL.

WordPress timer_stop 查看页面生成消耗时间

作为在写 WordPress 性能优化教程前的预热,我们需要先了解到 WordPress 前端页面的一个性能情况,而最直接的就是查看页面生成的需要多少时间,这样我们才能知道在以后的优化后会有多大的提升。

WordPress timer_stop

WordPress 提供了一个,timer_stop()函数,官方给出的介绍为:检索或显示从页面开始到调用函数的时间。简单的说就是我们访问一个 WordPress 链接,服务器生成处理这个页面所需要的时间,当然这并不是指我们打开或者加载这个页面的时间。更多的是服务器端的处理速度和 WordPress 本身运行情况。

1
2
3
4
5
6
7
8
9
10
//函数
timer_stop( $display, $precision = 3 )
 
//$display:是否直接输出,int | bool 必选,是否回显或返回结果。0 或 false 表示返回;1 或 true 表示输出显示。默认值为 0 | false。
 
//$precision:精度,int 可选,指要显示的小数点右边的位数。默认为 3.
 
//示例
 
<?php timer_stop(1);//直接输出显示 ?>

最后分享一个比较常见的关于 WordPress 显示当前页面数据库查询次数、页面生成时间以及服务器内存消耗情况的方法代码,如下:

1
<?php if(current_user_can('manage_options')){echo '<!-- ' . get_num_queries() . ' queries in ' . timer_stop(0,3) . ' seconds ' . memory_get_peak_usage()/1024/1024 . 'MB memory -->';}?>

以上我还多添加了一个判断,就是当只有管理员登录的情况下查看源代码就会有相关的信息输出啦,喜欢折腾的朋友们赶紧看看你们 WordPress 站点性能是什么一个情况吧!

WordPress去除留言带replytocom链接,防止收录重复内容

仔细的观察下wordpress的留言链接,你会发现会出现这样的结构http://a.com/a.html?replytocom=12#respond ,而这样的链接跟a.com/a.html是一个页面,如果收录的话会很不利,而且百度最新的cannio标签也说了 各位站长在设置Canonical标签前,仔细检查两个网页是否真的完全相同——一旦百度发现其中一个Canonical标签有问题,会不信任该站点的所有Canonical标签。 这样的抓取很容易导致网站被k,这里说下几种解决方法。

第一种方法应该就是大家最容易想到的robot方法了,利用robots.txt屏蔽是最简单的解决方法了

  1. User-agent: *
  2. Disallow: /*?replytocom=

第二种方法就是跟带replytocom的链接加上nofollow属性,这样蜘蛛同样不会抓取,方法就是在当前使用主题的function中加入以下代码

  1. add_filter(‘comment_reply_link’, ‘add_nofollow’, 420, 4);
  2. function add_nofollow($link, $args, $comment, $post){
  3. return str_replace(“href=”, “rel=’nofollow’ href=”, $link);
  4. }

第三种方法就是移除replytocom这样的链接
因为不是所有的搜索引擎都支持robots协议跟nofollow属性的,像360那种bug的存在我们上面的两种方法就没有作用了,我们可以使用第三种方法就是将replytocom替换为#comment-评论id,因为蜘蛛是不识别带有#号的链接的,这样也可以达到屏蔽的效果

  1. add_filter(‘comment_reply_link’, ‘add_nofollow’, 420, 4);
  2. function add_nofollow($link, $args, $comment, $post){
  3. return preg_replace( ‘/href=\'(.*(\?|&)replytocom=(\d+)#respond)/’, ‘href=\’#comment-$3‘, $link );
  4. }

wordpress显示摘要的方法

许多国内外的wordpress博客主题首页都会调用最新的若干篇文章的标题和内容,如果,一篇博客文章的内容过长,会占用页面的许多空间,用户浏览起来很不方便。解决这一问题有两种方法:

1、手动添加 more 标签,详wordpress more标签的用法

2、自动显示文章的摘要,同时限制字数:

在主题文件夹下的functions.php文件中加入如下代码:

1
2
3
4
5
6
7
add_filter('the_content','substr_content');
function substr_content($content){
	if(!is_singular()){
		$content=mb_strimwidth(strip_tags($content),0,200);
	}
	return $content;
}

其中”!is_singular()”是条件判断函数,表示在除单页面外的首页或分类等列表页面应用该函数,”200″表示截取的字数,相当于200个英文字符或100个中文字符。

其它条件判断语句:

1
2
3
4
5
6
7
is_home()          //仅在首页应用
is_category()      //仅在分类目录页应用
is_tag()           //仅在标签页应用
is_category() || is_tag()    //仅在目录页或标签页应用
is_date()          //仅在文章归档页应用
is_search()        //仅在搜索页面应用
}

Linux SSH命令大全【转】

Linux SSH命令大全
rm -rf mydir /* 删除mydir目录 */
cd mydir /* 进入mydir目录 */
cd – /* 回上一级目录 */
cd ~ /* 回根目录 */
mv tools tool /* 把tools目录改名为tool */
ln -s tool bac
/* 给tool目录创建名为bac的符号链接,最熟悉的应该就是FTP中www链接到public_html目录了 */

cp -a tool /home/leavex/www /* 把tool目录下所有文件复制到www目录下 */
rm go.tar /* 删除go.tar文件 */ 继续阅读

无插件美实现wordpress蜘蛛爬行记录生成

wordpress蜘蛛爬行记录生成这个功能,出于对网站优化的研究,清楚的了解蜘蛛爬行规律也是很重要的,我们就可以知道蜘蛛的爬行规律,根据这个规律我们再来写文章,这样符合了蜘蛛的胃口是很利于优化的。。。但是小编一直提倡着远离插件,热爱速度的口号,所以今天就教大家用代码完美实现wordpress蜘蛛爬行记录生成功能!

wordpress主题文件目录下找到function文件,用代码编辑软件打开,在<?php ?>内的任意位置增加下面一段代码即可完成wordpress蜘蛛爬行记录生成的功能!

  1. function get_naps_bot(){
  2. $useragent = strtolower($_SERVER[‘HTTP_USER_AGENT’]);
  3. if (strpos($useragent, ‘googlebot’) !== false){
  4. return ‘Googlebot’;
  5. }
  6. if (strpos($useragent, ‘msnbot’) !== false){
  7. return ‘MSNbot’;
  8. }
  9. if (strpos($useragent, ‘slurp’) !== false){
  10. return ‘Yahoobot’;
  11. }
  12. if (strpos($useragent, ‘baiduspider’) !== false){
  13. return ‘Baiduspider’;
  14. }
  15. if (strpos($useragent, ‘sohu-search’) !== false){
  16. return ‘Sohubot’;
  17. }
  18. if (strpos($useragent, ‘lycos’) !== false){
  19. return ‘Lycos’;
  20. }
  21. if (strpos($useragent, ‘robozilla’) !== false){
  22. return ‘Robozilla’;
  23. }
  24. return false;
  25. }
  26. function nowtime(){
  27. date_default_timezone_set(‘Asia/Shanghai’);
  28. $date=date(“Y-m-d.G:i:s”);
  29. return$date;
  30. }
  31. $searchbot = get_naps_bot();
  32. if ($searchbot) {
  33. $tlc_thispage = addslashes($_SERVER[‘HTTP_USER_AGENT’]);
  34. $url=$_SERVER[‘HTTP_REFERER’];
  35. $file=“robotslogs.txt”;
  36. $time=nowtime();
  37. $data=fopen($file,“a”);
  38. $PR=“$_SERVER[REQUEST_URI]”;
  39. fwrite($data,“Time:$time robot:$searchbot URL:$tlc_thispage\n page:$PR\r\n”);
  40. fclose($data);
  41. }

使用上面这段代码后,最好在网站的根目录创建个robotslogs.txt的文件,并且linux主机设置权限为777,然后过段时间,访问http://网址/robotslogs.txt 即可看到蜘蛛爬行记录了!

一些说使用后出错的朋友,请研究下function文件内,插入的位置!

版权所有 © 2024 野人部落实验室

主题设计 Anders Noren返回顶部 ↑