這個問題可以給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;
});
一、關閉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點抗 ');
轉發 評論 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(); ?
獲取訪客的IP(后期可用來獲取地理位置)
獲取訪客的地理位置(通過IP獲?。?/p>
獲取訪客的訪問次數
獲取訪客的訪問時間
獲取訪客訪問的網頁
獲取訪客訪問的網頁的標題
表名: my_count
字段:
id(int 10,主鍵,自增),
ip(varchar 20用來存儲訪客的IP地址),
country(varchar 20用來存儲訪客的國籍),
region(varchar 20用來存儲訪客的省份),
adress(varchar 20用來存儲訪客的所在城市),
time(int 10用來存儲訪客的訪問次數),
date(datetime 6用來存儲訪客的訪問時間),
url(varchar 30用來存儲訪客訪問的網頁),
page_url(varchar 100用來存儲訪客訪問的網頁的標題)
在/網站目錄/wp-content/themes/主題名 下創建PHP文件visitorstatistics.php:
打開footer.php,在結尾插入:
完了之后點擊下方的更新按鈕。打開網頁,會看到下方出現文字:“您是第xxx 位訪客,這是您的第 xxx 次訪問,感謝您的支持和關注!?”
參數:
$slug (必須) 通用的模板名
(字符串)要引入的模板的文件名,不包括后綴名 .php,也就是如果需要引入當前主題根目錄的 loop.php 文件 $slug 填寫 “loop” 即可。
$name(可選) 指定的模板名
(字符串)要引入的模板的文件的副文件名,如果要引入當前主題根目錄的 loop-img.php 文件 $slug 參數填寫 “loop”,$name 參數填寫 “img”。
淘寶的接口,用來返回ip地址對應的地理信息,返回實例:
{"code":0,"data":{"ip":"101.132.162.76","country":"中國","area":"","region":"上海","city":"上海","county":"XX","isp":"阿里云","country_id":"CN","area_id":"","region_id":"310000","city_id":"310100","county_id":"xx","isp_id":"1000323"}}
原文鏈接: 給網站添加數據統計(wordpress實戰)
歡迎訪問作者網站:
本文名稱:wordpress訪客 wordpress查看訪問ip
當前地址:http://vcdvsql.cn/article34/ddijppe.html
成都網站建設公司_創新互聯,為您提供品牌網站建設、外貿建站、App開發、網站建設、網站排名、網站維護
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯