网站最近动态

小朋友放假,每天都是各种玩,没啥好写的,于是想着折腾了下网站。
先说点题外话吧,下午进入网站后台查看代码时发现被植入了恶意代码,原主题是没有问题的,可能是不小心安装其它主题感染上的,于是把其它所有主题删除了,同时把恶意代码清除了。没多久主机就被DDoS攻击导致安全平台黑洞网站不能正常访问了。
没想到我这个小站也有人盯上,对于我们这种小白,也不能显示出你们多大的本事,所以拜托各位大神去其它地方吧。

尊敬的用户,您好!
很抱歉的通知您,经过安全系统检测您的主机目前遭到攻击,攻击规模为连接数:957,影响了同机房其它服务器的正常运行,万网为了降低因攻击给您服务器及同机房用户造成的安全风险,对您的主机进行了关停处理。如果攻击行为停止,4小时后网站会自动开通。
—阿里云

1. 网站背景

所用主题只能设置背景色,不能设置背景图片,看着有点单调,想放张照片做背景,如果改css又太麻烦,于是想着直接从后台下手。最后发现一个简单而又直接的方法:
首先招唤神龙—在functions.php文件中加上下列代码:

add_theme_support('custom-background');

此时刷新页面会在“外观”列表下看到“背景”项了,证明可以设置背景了。
但本主题由于自带有设置背景色功能,所以按上面设置后背景不显示的,找到对应的背景色定义项并删除,然后再加上body class函数就ok啦:

<body <?php body_class();?>>

当然有的主题自带有,根据需要修改吧。

2. 项目多色背景框

文章结尾和侧栏的标签tags默认背景为灰色,单调而且不易识别,于是想着换个多彩的,网上介绍的方法很多,有些太复杂,最后发现一种非常简单的方法就是使用nth-child()选择器:

.tags div:nth-child(5n+1)
{

background:#ff0000;

}

.tags div:nth-child(5n+2)
{

background:#ffbb00;

}

根据实际需要修改背景色和数值,效果可以看看我的标签和友情链接页面吧。
这个功能非常适用,秒杀其它需要用JS才可以实现的方法。

3. 主页设置

设置了一下主页面和文章页面。效果参照“首页”及记事本下“所有文章”页面(原首页)。

4. 页面管理

完善了关于页面 / 美化了友情链接页面 / 增加了视频VIP解析页面和留言本。
调整了顶部导航栏的高度,使之更协调。
同时优化了各个页面导航下面的标题及副标题使之更准确,而不是像之前的统一是网站标题及描述了。

5. 二维码

主题原本是需要上传一个二维码图片,所有页面扫描打开都是同一个页面。
改用API使每个页面打开都有对应的二维码,扫描即可打开对应的页面。

<img src="http://api.qrserver.com/v1/create-qr-code/?size=150x150&data=<?php the_permalink(); ?>">

6. 最新评论

改进了原主题侧栏最新评论的显示内容及样式。

7. “上一篇”和“下一篇”

修改了原主题“上一篇”和“下一篇”针对同类别的显示方式,改为针对全站文章。
同时修改了显示样式。

打开 single.php, 找到下面代码,去掉括号中的“true”即可。

get_previous_post(TRUE) 
get_next_post(TRUE)

8. 水印

文章页面增加了水印样式(参照Volcano主题)。

9. 版本

使用WordPress的博主都有一个普遍的意识,就是为了安全而移除WordPress的版本号,以免不良用心的人利用旧版本的漏洞对网站进行攻击。

/**
 * 移除 WordPress 加载的JS和CSS链接中的版本号
 */

function wanghao_remove_cssjs_ver( $src ) {
	
if( strpos( $src, 'ver=' ) )
		
$src = remove_query_arg( 'ver', $src );
	return $src;

}

add_filter( 'style_loader_src', 'wanghao_remove_cssjs_ver', 999 );

add_filter( 'script_loader_src', 'wanghao_remove_cssjs_ver', 999 );

貌似去掉版本后如果修改主题刷新时可以更快见到效果。

10. 评论显示样式

评论样式改为常见的嵌套样式,感觉比原主题的缩进列表方式的用户体验更好。

11. 增加验证码 (后续会去掉这个功能)

每天收到很多垃圾评论,虽然后台已经拦截了,但有点强迫症的我又坐不住了。
试着改代码没成功,最后不得不安装插件来解决,后续再观察效果如何。

12. 搜索框

将搜索框从侧栏移到滚动区,更方便。

13. Canvas特效

顶部背景增加canvas特效。

14. 去掉分类目录url链接中Category

主题文件中Functions.php中加入下列代码:

// 去掉链接中category分类标志
add_action( 'load-themes.php',  'no_category_base_refresh_rules');
add_action('created_category', 'no_category_base_refresh_rules');
add_action('edited_category', 'no_category_base_refresh_rules');
add_action('delete_category', 'no_category_base_refresh_rules');
function no_category_base_refresh_rules() {
    global $wp_rewrite;
    $wp_rewrite -> flush_rules();
}
// register_deactivation_hook(__FILE__, 'no_category_base_deactivate');
// function no_category_base_deactivate() {
//     remove_filter('category_rewrite_rules', 'no_category_base_rewrite_rules');
//     // We don't want to insert our custom rules again
//     no_category_base_refresh_rules();
// }
// Remove category base
add_action('init', 'no_category_base_permastruct');
function no_category_base_permastruct() {
    global $wp_rewrite, $wp_version;
    if (version_compare($wp_version, '3.4', '<')) {         // For pre-3.4 support         $wp_rewrite -> extra_permastructs['category'][0] = '%category%';
    } else {
        $wp_rewrite -> extra_permastructs['category']['struct'] = '%category%';
    }
}
// Add our custom category rewrite rules
add_filter('category_rewrite_rules', 'no_category_base_rewrite_rules');
function no_category_base_rewrite_rules($category_rewrite) {
    //var_dump($category_rewrite); // For Debugging
    $category_rewrite = array();
    $categories = get_categories(array('hide_empty' => false));
    foreach ($categories as $category) {
        $category_nicename = $category -> slug;
        if ($category -> parent == $category -> cat_ID)// recursive recursion
            $category -> parent = 0;
        elseif ($category -> parent != 0)
            $category_nicename = get_category_parents($category -> parent, false, '/', true) . $category_nicename;
        $category_rewrite['(' . $category_nicename . ')/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?category_name=$matches[1]&feed=$matches[2]';
        $category_rewrite['(' . $category_nicename . ')/page/?([0-9]{1,})/?$'] = 'index.php?category_name=$matches[1]&paged=$matches[2]';
        $category_rewrite['(' . $category_nicename . ')/?$'] = 'index.php?category_name=$matches[1]';
    }
    // Redirect support from Old Category Base
    global $wp_rewrite;
    $old_category_base = get_option('category_base') ? get_option('category_base') : 'category';
    $old_category_base = trim($old_category_base, '/');
    $category_rewrite[$old_category_base . '/(.*)$'] = 'index.php?category_redirect=$matches[1]';
    //var_dump($category_rewrite); // For Debugging
    return $category_rewrite;
}
// Add 'category_redirect' query variable
add_filter('query_vars', 'no_category_base_query_vars');
function no_category_base_query_vars($public_query_vars) {
    $public_query_vars[] = 'category_redirect';
    return $public_query_vars;
}
// Redirect if 'category_redirect' is set
add_filter('request', 'no_category_base_request');
function no_category_base_request($query_vars) {
    //print_r($query_vars); // For Debugging
    if (isset($query_vars['category_redirect'])) {
        $catlink = trailingslashit(get_option('home')) . user_trailingslashit($query_vars['category_redirect'], 'category');
        status_header(301);
        header("Location: $catlink");
        exit();
    }
    return $query_vars;
}
//     no_category_base_refresh_rules();

不管安装插件或者用代码可能会出现404页面!
解决方法:登录后台→设置→固定链接设置页面,随意改一下固定链接格式,然后再改回自己正常用的符合网站伪静态规则的固定链接格式,可以解决这个bug,不行就反复多改几次。

15. 禁止全英文评论

如果不加验证码,每天会收到非常多的垃圾评论。

/* refused spam */ 
function refused_spam_comments( $comment_data )
{  $pattern = '/[一-龥]/u';  
if(!preg_match($pattern,$comment_data['comment_content']))
 {  wp_die('评论必须含中文!');  }  
return( $comment_data );  }  
add_filter('preprocess_comment','refused_spam_comments');

16. 卡片式内链

代码及CSS样式比较多,就不贴出来了。

未完,待续。。。。。。

写于2018年8月27日
酸甜苦辣咸,五味调和,共存相生,百味纷呈。

赞助 点赞 1

晴和君, 夜斗, WRZ, 阿和等人对本文发表了10条热情洋溢的评论。
  • 晴和君说道:
    我很久以前遇到过cc攻击,直接把流量耗光了
    1. 小王子他爸说道:
      回复 晴和君: 所以尽量不要用共享主机 :neutral:
  • 夜斗说道:
    顶部背景增加的canvas特效可以分享一下嘛QAQ
    1. 王子说道:
      回复 夜斗: 已发送至你邮箱,请查收!谢谢!
      1. 夜斗说道:
        回复 王子: 收到啦 谢谢博主~
  • WRZ说道:
    大哥,你文章中的文字溢出了,都跑到外面去了 ..不知道 你苹果系统上出这个问题吗? 你需要增加CSS 文字自动换行......
    1. WRZ说道:
      回复 WRZ: 在溢出的 div里面 增加 这两条 CSS就解决 了 overflow: visible; white-space: pre-wrap;
    2. 王子说道:
      回复 WRZ: 折腾标点另起一行的问题不小心把这个的 CSS 样式给动了 :biggrin: 昨晚在家手机浏览时就发现了,只是今天工作忙没有折腾!
  • 阿和说道:
    我都很久没有折腾代码了,感觉已经忘光了 :lol:
    1. 王子说道:
      回复 阿和: 俗话说一孕傻三年,你这应该快到期了吧!哈哈~~~
  • 发表回复

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