WordPress中登陸后關(guān)閉登陸頁面及設(shè)置用戶不可見欄目
用戶登錄后關(guān)閉登錄頁面
WordPress默認(rèn)的登錄頁面是:http://WP目錄/wp-login.php,登錄后會自動跳轉(zhuǎn)到:http://WP目錄/wp-admin?,F(xiàn)在問題來了,如果用戶已經(jīng)登錄,但是它又打開wp-login.php頁面,會出現(xiàn)什么樣的情況呢?答案是,WordPress不會做任何處理,還是直接給你顯示登錄窗口:
面對如此冰冷的登錄框,用戶會感到困惑,我剛剛不是已經(jīng)登錄了嗎?怎么還要我輸入用戶名和密碼?所以,用戶登錄后,我們不該讓用戶再看到登錄框。解決此問題的辦法有兩個:
去除登錄鏈接
確保頁面中不再出現(xiàn)wp-login.php的鏈接。如用戶沒有登錄,網(wǎng)頁中我們可以這樣提示:
用戶登錄后,我們將上面的登錄和注冊鏈接刪除,換成:
這樣不僅可以讓用戶對是否已經(jīng)登錄一目了然,而且不會誤點擊wp-login.php進(jìn)入登錄界面。PHP編程只需用到WordPress的is_user_logged_in()函數(shù)判斷用戶是否已經(jīng)登錄就可以實現(xiàn)。
wp-login.php做跳轉(zhuǎn)
有些時候,用戶登錄后還是會偶然點擊到wp-login.php登錄鏈接,如瀏覽器的地址欄。我們這時就該做些補(bǔ)救措施了,不要不作為讓登錄框顯示在用戶面前。這里介紹的方法是,當(dāng)用戶已經(jīng)登錄,但是又打開wp-login.php鏈接,我們就讓他跳轉(zhuǎn)到后臺首頁wp-admin,具體方法是,在當(dāng)前主題的functions.php中加入以下php代碼:
function redirect_logged_user() { if(is_user_logged_in() && (empty($_GET['action']) || $_GET['action'] == 'login')) { wp_redirect( admin_url() ); exit; } } add_action( 'login_init', 'redirect_logged_user' );
創(chuàng)建對用戶不可見的自定義欄目
如果你是一個插件或者主題開發(fā)者,應(yīng)該經(jīng)常會使用自定義欄目(或者叫自定義字段)來存儲你的插件或主題的相關(guān)參數(shù),有趣的是,在WordPress后臺的文章編輯頁面或使用the_meta()模板函數(shù)時,WordPress不會顯示名稱以 _(下劃線)開頭的自定義欄目。
對一些不想讓用戶看到,更不想讓用戶修改的自定義欄目,我們可以使用此技巧,不僅讓文章編輯頁面的自定義欄目簡約些,而且不會讓用戶看到不熟悉的自定義欄目而感到困惑,甚至胡亂修改。下面是個使用范例:
<?php add_post_meta( 68, '_ludou', '露兜博客', true ); ?>
這樣就給id為68的文章添加了名稱為 _ludou,值為露兜博客的唯一的自定義欄目,而且在文章編輯頁面用戶也看不到。平常情況下,我們可能是這樣使用的,這樣在文章編輯頁的自定義了欄目中就能看到 ludou 字段:
<?php add_post_meta( 68, 'ludou', '露兜博客', true ); ?>
另外,當(dāng)自定義欄目的值是一個數(shù)組時,在文章編輯頁面,該欄目對用戶也是不可見的,即使自定義欄目的名稱前沒加下劃線。
相關(guān)文章
PHP中的session永不過期的解決思路及實現(xiàn)方法分享
讓PHP的session永不過期,你可能沒有遇到這么郁悶的問題,但是我遇到過,很郁悶。2011-04-04php中使用preg_replace函數(shù)匹配圖片并加上鏈接的方法
preg_replace 執(zhí)行正則表達(dá)式的搜索和替換,如果只是單純的匹配字符串建議使用str_replace(),因為其執(zhí)行效率高的多2013-02-02PHP中關(guān)鍵字interface和implements詳解
PHP 類是單繼承,也就是不支持多繼承,當(dāng)一個類需要多個類的功能時,繼承就無能為力了,為此 PHP 引入了類的接口技術(shù)。下面這篇文章主要跟大家介紹了關(guān)于PHP中關(guān)鍵字interface和implements的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。2017-06-06比較discuz和ecshop的截取字符串函數(shù)php版
網(wǎng)上看到一篇文章 discuz和ecshop截取字符串的兩個函數(shù),比較了一下兩個版本的函數(shù),都各有局限,只能在特定的前提下使用,但是學(xué)習(xí)一下有利于拓寬思路,了解PHP的擴(kuò)展功能2012-09-09