星期二, 1月 26, 2021
Home wordpress wordpress优化

wordpress优化

wordpress DIY优化细则,让wordpress更懂你。有了自己的wordpress,自然是要折腾一番啦。下面是喵酱整理的超实用功能,希望你们能够添加到自己的wordpress里。

  • 设置固定链接并配置伪静态
  • 设置ip访问时不返回任何数据
  • 默认后台登陆管理地址修改
  • html中的锚点设置
  • 管理员忘记密码进数据库修改
  • 通过代码实现查询蜘蛛爬行记录
  • 登录页面添加运算验证码
  • QQ微信网页跳转到浏览器打开
  • 宝塔面板开启Memcached缓存
  • 美化跳转页面
  • 网站审查元素(F12)显示一个提示信息
  • 减少数据库查询次数优化性能
  • 设置robots文件
  • 后台编辑器添加下拉式按钮
  • 部分文章内容加密
  • 替换Gravatar为v2ex头像源
  • 去除谷歌字体
  • 添加站点运行时间
  • 禁用pingtrack
  • 自动添加友链
  •  js代码弹出网站公告提示框
  • 独立友链
  • 添加动态切换网站标题
  • nginx及wp-config优化
  • 显示WordPress站点数据库查询次数等情况
  • 文章评论后显示隐藏内容代码

[h2title]设置固定链接并配置伪静态[/h2title]

设置固定链接格式为/%post_id%.html

打开宝塔>网站设置>伪静态,代码如下:

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;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;

 

[h2title]设置ip访问时不返回任何数据[/h2title]

1.签发一个无效证书
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/none.key -out /etc/none.crt
2.设置默认配置(总配置)
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 444;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
ssl_certificate "/etc/none.crt";
ssl_certificate_key "/etc/none.key";
ssl_protocols TLSv1.2 TLSv1.3;
ssl_early_data on;
return 444;
}

3.会报警告:[warn] conflicting server name “_” on 0.0.0.0:80, ignored  不用管

 

[h2title]默认后台登陆管理地址修改[/h2title]

如何对wordpress后台地址进行修改,供使用和参考,wordpress程序的默认登陆地址链接为http://xxx.com/wp-login.php。为保障网站安全性,可以修改wordpress登陆文章的名称wp-login.php后缀来防止密码被暴力破解。最简单的方法,修改fuction.php。WordPress很多功能都可以通过这个文件实现,而把改进功能集合到一个文件上面方便迁移和管理。直接将下面的代码复制到wordpress当前主题的 functions.php 文件中:

//保护后台登录
function login_protection(){
if($_GET['key'] != 'dawa')header('Location: https://www.mjish.com/');
}
add_action('login_enqueue_scripts','login_protection');

这样只有打开 https://www.mjish.com/wp-login.php?key=dawa,才会打开登录页,否则就会自动跳转到首页。当然,这里的word,dawa和后面的网址可以自行修改。

 

[h2title]html中的锚点设置[/h2title]

直接在网址后面加上#miao即可跳转。

在页面中需要的位置设置锚点<a name=”miao”></a>(注意:a标签中要写一个name属性,不加#),标签中按需填写必要的文字,一般不写内容。后台编辑器需要使用html编辑。

 

[h2title]管理员忘记密码进数据库修改[/h2title]

用phpmyadmin(宝塔已经安装)或其它数据库管理工具,进入你的数据库,修改wp_admin这个表里的admin_pwd为以下这个密文:

e10adc3949ba59abbe56e057f20f883e

对应的密码就是 123456。

 

[h2title]通过代码实现查询蜘蛛爬行记录[/h2title]

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

function get_naps_bot(){
$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
if (strpos($useragent, 'googlebot') !== false){
return 'Googlebot';
}
if (strpos($useragent, 'msnbot') !== false){
return 'MSNbot';
}
if (strpos($useragent, 'slurp') !== false){
return 'Yahoobot';
}
if (strpos($useragent, 'baiduspider') !== false){
return 'Baiduspider';
}
if (strpos($useragent, 'sohu-search') !== false){
return 'Sohubot';
}
if (strpos($useragent, 'lycos') !== false){
return 'Lycos';
}
if (strpos($useragent, 'robozilla') !== false){
return 'Robozilla';
}
return false;
}
function nowtime(){
date_default_timezone_set('Asia/Shanghai');
$date=date("Y-m-d.G:i:s");
return $date;
}
$searchbot = get_naps_bot();
if ($searchbot) {
$tlc_thispage = addslashes($_SERVER['HTTP_USER_AGENT']);
$url=$_SERVER['HTTP_REFERER'];
$file="robots_log.txt";
$time=nowtime();
$data=fopen($file,"a");
$PR="$_SERVER[REQUEST_URI]";
fwrite($data,"Time:$time robot:$searchbot URL:$tlc_thispage\n page:$PR\r\n");
fclose($data);
}  

之后,最好在网站的根目录创建一个robots_log.txt的文件,并且设置权限为777,过段时间,访问http://网址/robots_logs.txt 即可看到蜘蛛爬行记录了。

 

[h2title]登录页面添加运算验证码[/h2title]

打开主题里的fuction.php,在最后添加如下代码:

//WordPress后台登陆随机数学验证码
function myplugin_add_login_fields() {
//获取两个随机数, 范围0~9
$num1=rand(0,9);
$num2=rand(0,9);
//最终网页中的具体内容
echo "<p><label for='math' class='small'>验证码:$num1 + $num2 = ? </label><input type='text' name='sum' class='input' value='' size='25'>"
."<input type='hidden' name='num1' value='$num1'>"
."<input type='hidden' name='num2' value='$num2'></p>";}
add_action('login_form','myplugin_add_login_fields');
function login_val() {
$sum=$_POST['sum'];//用户提交的计算结果
switch($sum){
//得到正确的计算结果则直接跳出
case $_POST['num1']+$_POST['num2']:break;
//未填写结果时的错误讯息
case null:wp_die('错误:请输入验证码!');break;
//计算错误时的错误讯息
default:wp_die('错误:验证码错误,请重试!');}}
add_action('login_form_login','login_val');

随机数的范围可以自行修改。

 

[h2title]QQ微信网页跳转到浏览器打开[/h2title]

这个代码可以屏蔽在QQ和微信中打开您的网页,禁止鹅厂扫描您的的网站。食用方法很简单,进入主题文件夹,找到header.php,在开头添加如下代码即可:

<?php
$conf['qqjump']=1;
if(strpos($_SERVER['HTTP_USER_AGENT'], 'QQ/')||strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger')!==false && $conf['qqjump']==1){
$siteurl='http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
echo '<html>
<head>
<meta charset="UTF-8">
<title>使用浏览器打开</title>
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta content="black" name="apple-mobile-web-app-status-bar-style">
<meta name="format-detection" content="telephone=no">
<meta content="false" name="twcClient" id="twcClient">
<meta name="aplus-touch" content="1">
<style>
body,html{width:100%;height:100%}
*{margin:0;padding:0}
body{background-color:#fff}
#browser img{
width:50px;
}
#browser{
margin: 0px 10px;
text-align:center;
}
#contens{
font-weight: bold;
margin:-285px 0px 10px;
text-align:center;
font-size:20px;
margin-bottom: 125px;
}
.top-bar-guidance{font-size:15px;color:#fff;height:70%;line-height:1.8;padding-left:20px;padding-top:20px;background:url(//gw.alicdn.com/tfs/TB1eSZaNFXXXXb.XXXXXXXXXXXX-750-234.png) center top/contain no-repeat}
.top-bar-guidance .icon-safari{width:25px;height:25px;vertical-align:middle;margin:0 .2em}
.app-download-tip{margin:0 auto;width:290px;text-align:center;font-size:15px;color:#2466f4;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAcAQMAAACak0ePAAAABlBMVEUAAAAdYfh+GakkAAAAAXRSTlMAQObYZgAAAA5JREFUCNdjwA8acEkAAAy4AIE4hQq/AAAAAElFTkSuQmCC) left center/auto 15px repeat-x}
.app-download-tip .guidance-desc{background-color:#fff;padding:0 5px}
.app-download-btn{display:block;width:214px;height:40px;line-height:40px;margin:18px auto 0 auto;text-align:center;font-size:18px;color:#2466f4;border-radius:20px;border:.5px #2466f4 solid;text-decoration:none}
</style>
</head>
<body>
<div class="top-bar-guidance">
<p>点击右上角使用其它浏览器打开</p>
<p>之后可以继续浏览哦~</p>
</div>
<a style="display: none;" href="" id="vurl" rel="noreferrer"></a>
<div id="contens">
禁止鹅厂打开链接<br /><br />
建议用Chrome和Fierfox打开效果最佳<br />
<script type="text/javascript">$.getScript("http://cn.battleofballs.com/share?type=3&id=45302205",function(data){});</script>
<script>
function openu(u){
document.getElementById("vurl").href= u;
document.getElementById("vurl").click();
}
var url = window.location.href;
if(navigator.userAgent.indexOf("QQ/")> -1){
openu("ucbrowser://"+url);
openu("mttbrowser://url="+url);
openu("baiduboxapp://browse?url="+url);
openu("googlechrome://browse?url="+url);
openu("mibrowser:"+url);
openu("taobao://"+url.split("://")[1]);
openu("alipays://platformapi/startapp?appId=20000067&url="+url);
$("html").on("click",function(){
openu("ucbrowser://"+url);
openu("mttbrowser://url="+url);
openu("baiduboxapp://browse?url="+url);
openu("googlechrome://browse?url="+url);
openu("mibrowser:"+url);
openu("taobao://"+url.split("://")[1]);
openu("alipays://platformapi/startapp?appId=20000067&url="+url);
});
}else if(navigator.userAgent.indexOf("MicroMessenger") > -1){
if(navigator.userAgent.indexOf("Android") > -1){
var iframe = document.createElement("iframe");
iframe.style.display = "none";
document.body.appendChild(iframe);
}else{
}
}
</script>
</html>';
exit;
}
?>

 

[h2title]宝塔面板开启Memcached缓存[/h2title]

  1. 在php设置里,选择安装扩展,安装memcached扩展即可。
  2. 安装好Memcached,然后在php设置里有一个Session配置选项,选择存储位置为memcached,保存即可。
  3. 配置wordpress插件来使用Memcached。memcached插件有两个地方可以下载,我们可以访问github项目页面下载插件包:https://github.com/tollmanz/wordpress-pecl-memcached-object-cache
    下载并解压得到的 object-cache.php,上传到 wp-content 目录即可开启memcached缓存。或者我们去wodpress后台的插件库里下载MemcacheD Is Your Friend,安装就可以了。
  4. 编辑wp-config.php 文件,上述所说步骤做完之后,编辑博客根目录的wp-config.php 文件,添加下方两段代码进去并保存。
  5. 进入软件商店,选择memcached管理,选择负载状态,即可查看效果,检查是否配置成功,以及访问速度是否有提升。主要看缓存命中率等数据。

/**开启memcached缓存*/
define('ENABLE_CACHE', true);
define('WP_CACHE', true);

 

[h2title]美化跳转页面[/h2title]

这里选择了最简单的一种方法,直接在主题目录创建文件,创建一个名为go.php的文件,将以下代码写入文件:

<?php
if(strlen($_SERVER['REQUEST_URI']) > 384 ||
strpos($_SERVER['REQUEST_URI'], "eval(") ||
strpos($_SERVER['REQUEST_URI'], "base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
//通过QUERY_STRING取得完整的传入数据,然后取得url=之后的所有值,兼容性更好
$t_url = preg_replace('/^url=(.*)$/i','$1',$_SERVER["QUERY_STRING"]);
//数据处理
if(!empty($t_url)) {
//判断取值是否加密
if ($t_url == base64_encode(base64_decode($t_url))) {
$t_url = base64_decode($t_url);
}
//对取值进行网址校验和判断
preg_match('/^(http|https|thunder|qqdl|ed2k|Flashget|qbrowser):\/\//i',$t_url,$matches);
if($matches){
$url=$t_url;
$title='页面加载中,请稍候...';
} else {
preg_match('/\./i',$t_url,$matche);
if($matche){
$url='http://'.$t_url;
$title='页面加载中,请稍候...';
} else {
$url = 'http://'.$_SERVER['HTTP_HOST'];
$title='参数错误,正在返回首页...';
}
}
} else {
$title = '参数缺失,正在返回首页...';
$url = 'http://'.$_SERVER['HTTP_HOST'];
}
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="robots" content="noindex, nofollow" />
<noscript><meta http-equiv="refresh" content="1;url='<?php echo $url;?>';"></noscript>
<script>
function link_jump()
{
//禁止其他网站使用我们的跳转页面
var MyHOST = new RegExp("<?php echo $_SERVER['HTTP_HOST']; ?>");
if (!MyHOST.test(document.referrer)) {
location.href="http://" + MyHOST;
}
location.href="<?php echo $url;?>";
}
//延时1S跳转,可自行修改延时时间
setTimeout(link_jump, 1000);
//延时50S关闭跳转页面,用于文件下载后不会关闭跳转页的问题
setTimeout(function(){window.opener=null;window.close();}, 50000);
</script>
<title><?php echo $title;?></title>
<style type="text/css">
body{background:#555}.loading{-webkit-animation:fadein 2s;-moz-animation:fadein 2s;-o-animation:fadein 2s;animation:fadein 2s}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-o-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}.spinner-wrapper{position:absolute;top:0;left:0;z-index:300;height:100%;min-width:100%;min-height:100%;background:rgba(255,255,255,0.93)}.spinner-text{position:absolute;top:45%;left:50%;margin-left:-100px;margin-top:2px;color:#000;letter-spacing:1px;font-size:20px;font-family:Arial}.spinner{position:absolute;top:45%;left:50%;display:block;margin-left:-160px;width:1px;height:1px;border:20px solid rgba(255,0,0,1);-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px;border-left-color:transparent;border-right-color:transparent;-webkit-animation:spin 1.5s infinite;-moz-animation:spin 1.5s infinite;animation:spin 1.5s infinite}@-webkit-keyframes spin{0%,100%{-webkit-transform:rotate(0deg) scale(1)}50%{-webkit-transform:rotate(720deg) scale(0.6)}}@-moz-keyframes spin{0%,100%{-moz-transform:rotate(0deg) scale(1)}50%{-moz-transform:rotate(720deg) scale(0.6)}}@-o-keyframes spin{0%,100%{-o-transform:rotate(0deg) scale(1)}50%{-o-transform:rotate(720deg) scale(0.6)}}@keyframes spin{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(720deg) scale(0.6)}}
</style>
</head>
<body>
<div class="loading">
<div class="spinner-wrapper">
<span class="spinner-text">页面加载中,请稍候...</span>
<span class="spinner"></span>
</div>
</div>
</body>
</html>

模板大家也可以到网上自己去搜。该php文件的使用可以在添加外链的时候手动添加跳转。外链跳转形式为:本站地址/go.php?url=外链地址在文章添加外链的时候,只要按照以上格式添加即可。在主题functions.php文件中加入以下代码:

//外链跳转
add_filter('the_content','web589_the_content_nofollow',999);
function web589_the_content_nofollow($content){
preg_match_all('/href="(http.*?)"/',$content,$matches);
if($matches){
foreach($matches[1] as $val){
if(strpos($val,'://')!==false && strpos($val,home_url())===false && !preg_match('/\.(jpg|jepg|png|ico|bmp|gif|tiff)/i',$val))
$content=str_replace("href=\"$val\"", "rel=\"nofollow\" target=\"_blank\" class=\"a-one\" href=\"" . "https://mjish.com". "/go.php?url=" .$val. "\"",$content);
}
}
return $content;
}

这样就可以自动进行外链替换,无需手动替换。

这里特别说明一下,有一些主题如果外链地址是网站地址,就不会在新窗口打开,这里解决的方法就是把根域名和二级域名指向你的博客,再把根域名填写到上面的代码中,这样所有的外链地址就可以在新窗口打开了。

 

[h2title]网站审查元素(F12)显示一个提示信息[/h2title]

将以下代码添加到footer.php即可,按下F12或右键审查元素,找到Console就能看到效果,内容自己改。

<script type="text/javascript" language="javascript">
if(window.console&&window.console.log){
console.log('不好!被你发现了!');
console.log('既然你发现了这个隐藏的秘密,就准备受死吧!');
}
</script>  

 

[h2title]减少数据库查询次数优化性能[/h2title]

要减少 WordPress 数据库查询次数,首先在 WordPress 的wp-config.php里进行一些基本的配置,这样就可以减少一些几乎多余的、每次都需要查询数据库的次数,具体配置如下:

define('COOKIE_DOMAIN', '你的网站地址');
//设置地址而不是服务器检查,这将减少服务器查询
define('WP_HOME', 'https://网站地址');
define('WP_SITEURL', 'https://网站地址');
//优化文章修改历史:Post-Revisioning
define('AUTOSAVE_INTERVAL', 120);// 修改WordPress 编辑器自动保存时间间隔为120秒保存一次
define('WP_POST_REVISIONS', 5);//仅保留保留5个最近修改,也可以减小此数字,但不能太低了
define('EMPTY_TRASH_DAYS', 7 );//7天后自动清空回收站,这个自己根据情况设定
define( 'CORE_UPGRADE_SKIP_NEW_BUNDLED', true );//更新时跳过 wp-content 目录,增加更新效率
//通过剔除对模板路径和样式表路径的数据库查询,这样可提高站点的性能。
define('TEMPLATEPATH', '/wp-content/themes/你的主题名');
define('STYLESHEETPATH', '/wp-content/themes/你的主题名');

 

[h2title]文章图片自动添加ALT属性[/h2title]

wordpress文章图片自动添加ALT属性,网上代码要么不能匹配到alt,要么不能加入标题,下面代码已实测,放在functions.php里就好了。

//文章图片自动添加alt和title属性
function imgcreate($content){
global $post;
//匹配图片地址正则,如果你的img标签没有class属性你可以使用这个正则
$preg = "/<img.*?src=[\"|\'](.*?)[\"|\'].*?>/";
//匹配图片class属性与src属性正则,如需替换更多自行添加。
$preg1 = "/<img.*?class=[\"|\'](.*?)[\"|\'].*?src=[\"|\'](.*?)[\"|\'].*?>/";
//用来替换的alt属性值
$alt = $post->post_title;
//用来替换的title属性值
$title = $post->post_title;
//采用替换class与src正则使用
$img = '<img class="$1" src="$2" alt="'.$alt.'"title="'.$title.'">';
//采用替换src正则使用
//$img = '<img src="$1" alt="'.$alt.'"title="'.$title.'">';
//执行正则替换
$content = preg_replace($preg1,$img,$content);
return $content;
}
//加载文章内容的触发钩子函数
add_action('the_content','imgcreate');

 

[h2title]设置robots文件[/h2title]

User-agent: *
Disallow: /wp-admin/
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /*/comment-page-*
Disallow: /*?replytocom=*
Disallow: /category/*/page/
Disallow: /tag/*/page/
Disallow: /*/trackback
Disallow: /feed
Disallow: /*/feed
Disallow: /comments/feed
Disallow: /?s=*
Disallow: /*/?s=*\
Disallow: /attachment/
Disallow: /search/
Disallow: /readme.html
Disallow: /licence.txt
Disallow: /wp-config-sample.php

Sitemap: https://www.mjish.com/sitemap.xml

 

[h2title]后台编辑器添加下拉式按钮[/h2title]

// 后台编辑器添加下拉式按钮
function QGG_select(){
echo '
<select id="short_code_select">
<option value="请选择一个短代码!!!">插入短代码</option>
<option value="[ghide keyword=\'关键字\' key=\'验证码\']隐藏内容[/ghide]">公众号隐藏</option>
<option value="[pwd_protected_post key=\'保护密码\']您需要选择一个短代码[/pwd_protected_post]">文章密码保护</option>
</select>';
}
if (current_user_can('edit_posts') && current_user_can('edit_pages')) {
add_action('media_buttons', 'QGG_select', 11);
}
function QGG_button() {
echo '<script type="text/javascript">
jQuery(document).ready(function(){
jQuery("#short_code_select").change(function(){
send_to_editor(jQuery("#short_code_select :selected").val());
return false;
});
});
</script>';
}
add_action('admin_head', 'QGG_button');

 

[h2title]文章部分内容设置密码可见[/h2title]

/**
* 建立短代码-加载密码可见
*/function e_secret($atts, $content=null){
extract(shortcode_atts(array('key'=>null), $atts));
if(isset($_POST['e_secret_key']) && $_POST['e_secret_key']==$key){
return '
<div class="e-secret" id="eallsecret">'.$content.'</div>
';
}
else{
return '
<form class="e-secret" action="'.get_permalink().'#eallsecret'.'" method="post" name="e-secret"><label class="e_secret_lab">请插入?:</label><input type="password" name="e_secret_key" class="euc-y-i" maxlength="50"><input type="submit" class="euc-y-s" value="?">
<div class="euc-clear"></div>
</form>
';
}
}
add_shortcode('ssecret','e_secret');
/**
* 样式-加载密码可见
*/function secret_css() {
global $post,$posts;
foreach ($posts as $post) {
if ( has_shortcode( $post->post_content, 'ssecret') ){
echo '<style type="text/css">.e-secret {margin: 20px 0;padding: 20px;background: #f8f8f8;overflow: auto;}.e-secret input.euc-y-i[type="password"] {float: left;bacground: #fff;width: 100%;line-height: 36px;margin-top: 5px;border-radius: 3px;}.e-secret input.euc-y-s[type="submit"] {float: right;margin-top: -47px;width: 30%;margin-right: 1px;border-radius: 0 3px 3px 0;}input.euc-y-s[type="submit"]{background-color: #FF69B4;color:#fff;font-size:21px;box-shadow:none;-webkit-transition: .4s;-moz-transition: .4s;-o-transition: .4s;transition:.4s;-webkit-backface-visibility:hidden;position:relative;cursor:pointer;padding: 13px 20px;text-align: center;border-radius: 50px;-webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none;border: 0;height: auto;outline: medium;line-height: 20px;margin: 0;}input.euc-y-s[type="submit"]:hover{background-color:#CE0416;}input.euc-y-i[type="text"],input.euc-y-i[type="password"]{border:1px solid #F2EFEF;color:#777;display:block;background: #FCFCFC;font-size:18px;transition:all .5s ease 0;outline:0;box-sizing:border-box;-webkit-border-radius:25px;-moz-border-radius:25px;border-radius:25px;padding:5px 16px; margin: 0;height: auto;line-height: 30px;}input.euc-y-i[type="text"]:hover,input.euc-y-i[type="password"]:hover{border:1px solid #56b4ef;box-shadow:0 0 4px #56b4ef</style>';}}}
add_action('wp_head', 'secret_css');
/**
* 编辑器密码可见按钮-加载密码可见
*/function mmkj_tags($mce_settings) {
?>
<script type="text/javascript">
QTags.addButton( 'mimakejian', '密码可见', '[ssecret key="输入密码"]', '[/ssecret]' );
</script>
<?php
}
add_action('after_wp_tiny_mce', 'mmkj_tags');

 

[h2title]替换Gravatar为v2ex头像源[/h2title]

// 替换Gravatar为v2ex头像源
function mytheme_get_avatar( $avatar ) {
$avatar = preg_replace("/http:\/\/(www|\d).gravatar.com\/avatar\//","http://cdn.v2ex.com/gravatar/",$avatar);
return $avatar;
}
add_filter('get_avatar', 'mytheme_get_avatar');

 

[h2title]去除谷歌字体[/h2title]

//去除谷歌字体
if (!function_exists('remove_wp_open_sans')) :
function remove_wp_open_sans() {
wp_deregister_style( 'open-sans' );
wp_register_style( 'open-sans', false );
}
// 前台删除Google字体CSS
add_action('wp_enqueue_scripts', 'remove_wp_open_sans');
// 后台删除Google字体CSS
add_action('admin_enqueue_scripts', 'remove_wp_open_sans');
endif;

 

[h2title]添加站点运行时间[/h2title]

在风雨中已飘摇: <SPAN id=span_dt_dt style="color: #0196e3;"></SPAN>
<SCRIPT language=javascript>
function show_date_time(){
window.setTimeout("show_date_time()", 1000);
BirthDay=new Date("02/28/2020 00:00:00");//这个日期是可以修改的
today=new Date();
timeold=(today.getTime()-BirthDay.getTime());
sectimeold=timeold/1000
secondsold=Math.floor(sectimeold);
msPerDay=24*60*60*1000
e_daysold=timeold/msPerDay
daysold=Math.floor(e_daysold);
e_hrsold=(e_daysold-daysold)*24;
hrsold=Math.floor(e_hrsold);
e_minsold=(e_hrsold-hrsold)*60;
minsold=Math.floor((e_hrsold-hrsold)*60);
seconds=Math.floor((e_minsold-minsold)*60);
span_dt_dt.innerHTML=""+daysold+"天"+hrsold+"小时"+minsold+"分"+seconds+"秒";
}
show_date_time();
</SCRIPT>

 

[h2title]禁用pingback[/h2title]

function no_self_ping( $links ) {
	$home = get_option('home');
	foreach ( $links as $l => $link ){
		if  ( 0 == strpos($link,$home) ){
			unset($links[$l]);
		}
	}
}
add_action ( 'pre_ping', 'no_self_ping' );

 

[h2title]自动添加友链[/h2title]

网站主题目录下新建一个名为friend-links.php的文件将代码粘贴到PHP文件中保存:

<?php
/*
Template Name: 自助申请友链
* 提示:友情链接,需在后台审核
*/
?>
<?php
if( isset($_POST['blink_form']) && $_POST['blink_form'] == 'send'){
global $wpdb;
// 表单变量初始化
$link_name = isset( $_POST['blink_name'] ) ? trim(htmlspecialchars($_POST['blink_name'], ENT_QUOTES)) : '';
$link_url = isset( $_POST['blink_url'] ) ? trim(htmlspecialchars($_POST['blink_url'], ENT_QUOTES)) : '';
$link_description = isset( $_POST['blink_lianxi'] ) ? trim(htmlspecialchars($_POST['blink_lianxi'], ENT_QUOTES)) : ''; // 联系方式
$link_image = isset( $_POST['blink_image'] ) ? trim(htmlspecialchars($_POST['blink_image'], ENT_QUOTES)) : ''; // 头像
$link_target = "_blank";
$link_visible = "N"; // 表示链接默认不可见
// 表单项数据验证
if ( empty($link_name) || mb_strlen($link_name) > 20 ){
wp_die('连接名称必须填写,且长度不得超过30字');
}
if ( empty($link_url) || strlen($link_url) > 60 || !preg_match("/^(https?:\/\/)?(((www\.)?[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)?\.([a-zA-Z]+))|(([0-1]?[0-9]?[0-9]|2[0-5][0-5])\.([0-1]?[0-9]?[0-9]|2[0-5][0-5])\.([0-1]?[0-9]?[0-9]|2[0-5][0-5])\.([0-1]?[0-9]?[0-9]|2[0-5][0-5]))(\:\d{0,4})?)(\/[\w- .\/?%&=]*)?$/i", $link_url)) { //验证url
wp_die('链接地址必须填写');
}
$sql_link = $wpdb->insert(
$wpdb->links,
array(
'link_name' => '【待审核】--- '.$link_name,
'link_url' => $link_url,
'link_target' => $link_target,
'link_description' => $link_description,
'link_visible' => $link_visible,
'link_image' => $link_image
)
);
$result = $wpdb->get_results($sql_link);
wp_die('亲,友情链接提交成功,【等待喵酱审核中】!<a href="/">点此返回</a>', '提交成功');
}
get_header();
?>
<div id="main">
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<article class="col-md-10 col-md-offset-2 view clearfix">
<?php if(function_exists('cmp_breadcrumbs')) cmp_breadcrumbs();?>
<p class="mt20">欢迎各位大佬与喵酱交换友情链接,不胜感激^0^</p>
<p class="mt20"><strong>友链自助申请须知</strong></p>
<p>✔ 禁止一切产品营销、广告联盟类型的网站;</p>
<p>✔ 网站内容要健康积极向上哦。</p>
<p>✔ 喵酱会不定期访问友链,如果遇到网站长时间打不开,内容不符合条件等情况的话,将会撤销该友链的啦( ̄_, ̄ )</p>
<p>✔ 如果申请后,长时间未通过审核,有可能是喵酱太忙未看到,可以通过留言告知,喵~</p>
<p class="mt20"><strong>喵酱的信息</strong></p>
<p>名称:喵酱爱生活</p>
<p>链接:https://www.mjish.com/</p>
<p>简介:热衷各类影视,会瞎折腾的喵</p>
<p>头像:默认就好啦</p>
<!--表单开始-->
<form method="post" class="mt20" action="<?php echo $_SERVER["REQUEST_URI"]; ?>">
<div class="form-group">
<label for="blink_name"><font color="red">*</font> 名称:</label>
<input type="text" size="40" value="" class="form-control" id="blink_name" placeholder="请输入链接名称" name="blink_name" />
</div>
<div class="form-group">
<label for="blink_url"><font color="red">*</font> 链接:</label>
<input type="text" size="40" value="" class="form-control" id="blink_url" placeholder="请输入链接,带http://或https://哦!" name="blink_url" />
</div>
<div class="form-group">
<label for="blink_lianxi"> 简介:</label>
<input type="text" size="40" value="" class="form-control" id="blink_lianxi" placeholder="请输入简介" name="blink_lianxi" />
</div>
<div>
<input type="hidden" value="send" name="blink_form" />
<button type="submit" class="btn btn-primary">提交申请</button>
<button type="reset" class="btn btn-default">重填</button>
(提示:带有<font color="red">*</font>表示必填项~)
</div>
</form>
<!--表单结束-->
<br/>
</article>
<?php endwhile; else: ?>
<?php endif; ?>
</div>
<?php get_footer(); ?>

 

[h2title]创建单独友链页面[/h2title]

新建一个页面模板 flink.php,将主题的 page.php 文件整体复制过去,在文件最顶端加上以下声明代码:

<?php
/*
Template Name: Links Page Template PAGE
*/
?>

找到<?php the_content(); ?>代码,然后将以下代码粘贴在后面:

<?php
$bookmarks = get_bookmarks();
if ( !empty($bookmarks) ){
echo '<ul class="link-content clearfix">';
foreach ($bookmarks as $bookmark) {
echo '<li><a href="' . $bookmark->link_url . '" title="' . $bookmark->link_description . '" target="_blank" >'. get_avatar($bookmark->link_notes,64) . '<span class="sitename">'. $bookmark->link_name .'</span></a></li>';
}
echo '</ul>';
}
?>

 

[h2title] js代码弹出网站公告提示框[/h2title]

将以下代码-放在网站首部或页面即可

<script language="javascript">alert('通知')</script>

 

[h2title]添加动态切换网站标题[/h2title]

添加到footer.php

<script>
var OriginTitle = document.title;
var titleTime;
document.addEventListener('visibilitychange', function () {
if (document.hidden) {
document.title = '小宝贝别走啊!';
clearTimeout(titleTime);
}
else {
document.title = 'ヾ(Ő∀Ő3)ノ想我啦!' + OriginTitle;
titleTime = setTimeout(function () {
document.title = OriginTitle;
}, 2000);
}
});
</script>

 

所有链接在新窗口打开

hearder.php > 在 <head>标签后面加上一句 <base target= “_blank”>

 

[h2title]nginx及wp-config优化[/h2title]

//强制 SSL登录
define( 'FORCE_SSL_ADMIN', true );
//删除图像编辑版本
define( 'IMAGE_EDIT_OVERWRITE', true );

location ~* /xmlrpc.php$ {
deny all;
}
if ($request_method !~ ^(GET|POST)$ ) {
return 444;
}
location ~* /(?:uploads|files|wp-content|wp-includes|akismet)/.*.php$ {
deny all;
access_log off;
log_not_found off;
}
#隐藏 nginx 版本.
server_tokens off;
#隐藏 PHP 版本
fastcgi_hide_header X-Powered-By;
proxy_hide_header X-Powered-By;
#禁用目录列表
autoindex off;

[h2title]显示WordPress站点数据库查询次数等情况[/h2title]

只需要将以下代码添加到当前主题functions.php

//显示数据库查询次数、查询时间及内存占用的代码
function performance( $visible = false ) {
    $stat = sprintf(  '%d 次查询 用时 %.3f 秒, 耗费了 %.2fMB 内存',
        get_num_queries(),
        timer_stop( 0, 3 ),
        memory_get_peak_usage() / 1024 / 1024
        );
    echo $visible ? $stat : "<!-- {$stat} -->" ;
}
add_action( 'wp_footer','performance', 20 );

然后通过浏览器查看站点源代码即可在最后面看到结果

[h2title]文章评论后显示隐藏内容代码[/h2title]

function reply_to_read($atts, $content=null) {
extract(shortcode_atts(array("notice" => '<p class="reply-to-read">该内容需<a href="#respond" title="评论">评论</a>并<a href="#respond" title="填写邮箱">填写邮箱</a>后才能查看.</p>'), $atts));
$email = null;
$user_ID = (int) wp_get_current_user()->ID;
if ($user_ID > 0) {
$email = get_userdata($user_ID)->user_email;
//对博主直接显示内容
$admin_email = "xx@qq.com"; //博主Email
if ($email == $admin_email) {
return $content;
}
} else if (isset($_COOKIE['comment_author_email_' . COOKIEHASH])) {
$email = str_replace('%40', '@', $_COOKIE['comment_author_email_' . COOKIEHASH]);
} else {
return $notice;
}
if (empty($email)) {
return $notice;
}
global $wpdb;
$post_id = get_the_ID();
$query = "SELECT `comment_ID` FROM {$wpdb->comments} WHERE `comment_post_ID`={$post_id} and `comment_author_email`='{$email}' LIMIT 1";
if ($wpdb->get_results($query)) {
return do_shortcode($content);
} else {
return $notice;
}
}

add_shortcode('reply', 'reply_to_read');

Previous article世界,您好!
Next article如何在ssllabs获得A+

Most Popular

Recent Comments