十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
一、关闭wordpress自带站内搜索
成都创新互联公司秉承实现全网价值营销的理念,以专业定制企业官网,网站设计、成都做网站,微信小程序,网页设计制作,手机网站开发,营销型网站建设帮助传统企业实现“互联网+”转型升级专业定制企业官网,公司注重人才、技术和管理,汇聚了一批优秀的互联网技术人才,对客户都以感恩的心态奉献自己的专业和所长。
php+mysql已经广泛应用于各大网站,但sql注入问题是都会存在的一大事实,黑客就是利用sql注入做了许多坏事。wordpress网站使用人数也逐渐增高,在安全性上也是公认的,回过头来说站内搜索吧,别扯远了,高深的问题当下也消化不了。
一般来说sql查询越多,对网站效率越差负载也很高,为了优化wordpress怎么减少sql查询呢?因为wordpress自带的站内搜索不单每次都进行sql查询,而且查询都是不是十分准确的,所以可以换成百度或谷歌等这些开放站内搜索,来进行wordpress优化,还提高了用户体验。
但如果有访客通过"wordpress/?s=$key"这种方式,仍然可以使用wordpress自带的站内搜索,因此,下面就可以用这种方法完全关闭wordpress自带的站内搜索。方法很简单,只需在function.php中加入以下代码即可。
function fb_filter_query( $query, $error = true ) {
if ( is_search() ) {
$query-is_search = false;
$query-query_vars[s] = false;
$query-query[s] = false;
if ( $error == true )
$query-is_404 = true;
}
}
add_action( 'parse_query', 'fb_filter_query' );
add_filter( 'get_search_form', create_function( '$a', "return null;" ) );
二、关闭wordpress对外请求
相信大家都发现了,浏览器状态栏会有wordpress网站向其他网站的链接,这大大影响了wordpress站点的速度,为了优化wordpress,可以在wp-config.php中插入以下代码来屏蔽对外请求。
define('WP_HTTP_BLOCK_EXTERNAL', true);
到这里,相信大家就开始怀疑影不影响收录,其实完全可以设置wordpress对外请求白名单,将百度、google等ping地址添加上即可。代码如下(以百度为例):
define('WP_ACCESSIBLE_HOSTS', 'ping.baidu.com');
转发 评论 0 浏览 5090
昵称(必填)
邮箱 (必填)
网址
/**
* 统计全站总访问量/今日总访问量/当前是第几个访客
* @return [type] [description]
*/
function wb_site_count_user(){
$addnum = rand(5,10); //每个访客增加的访问数 5 - 10的随机数
session_start();
$date = date('ymd',time());
if(!isset($_SESSION['wb_'.$date]) !$_SESSION['wb_'.$date]){
$count = get_option('site_count');
if(!$count || !is_array($count)){
$newcount = array(
'all' = 8377670,
'date' = $date,
'today' = $addnum
);
update_option( 'site_count', $newcount );
}else{
$newcount = array(
'all' = ($count['all']+$addnum),
'date' = $date,
'today' = ($count['date'] == $date) ? ($count['today']+$addnum) : $addnum
);
update_option( 'site_count', $newcount );
}
$_SESSION['wb_'.$date] = $newcount['today'];
}
return;
}
add_action('init', 'wb_site_count_user');
//输出访问统计
function wb_echo_site_count(){
session_start();
$sitecount = get_option('site_count');
$date = date('ymd',time());
echo 'p总访问量:span style="color:red"'.absint($sitecount['all']).'/span nbsp;nbsp; 今日访问量:span style="color:red"'.absint($sitecount['today']).'/span nbsp;nbsp; 您是今天第:span style="color:red"'.absint($_SESSION['wb_'.$date]).'/span 个访问者/p';
}
1、将以上代码添加到wordpress主题根目录下的funciton.php函数文件后面;
2、在主题页脚 (footer.php)输入?php wb_echo_site_count(); ?
独立访客信息,需要用户注册才会显示啊!
注册会根据用户填写的qq、微博、邮箱显示在网页上面,wordpress---》后台---》用户---》我的个人资料,里面就有相关信息,可以调用。
比如我调用站点字段:
?php if ( get_the_author_meta( 'url' ) ){
echo '站点:'.get_the_author_meta( 'url' );
}
这个问题可以给template_redirect这个钩子添加判断函数进行处理,示例:
add_action( 'template_redirect', function() {
// 判断条件可根据实际情况自行拟定
// 跳转到哪里可以自行指定,如 get_page(6)
// 这里针对未登录用户,使其始终跳转到登录页面
if ( ! is_user_logged_in() ) {
nocache_headers();
wp_safe_redirect( wp_login_url(home_url()) );
exit;
}
return;
});