您好,登錄后才能下訂單哦!
小編給大家分享一下WordPress中如何實現登陸后關閉登陸頁面及設置用戶不可見欄目,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
用戶登錄后關閉登錄頁面
WordPress默認的登錄頁面是:http://WP目錄/wp-login.php,登錄后會自動跳轉到:http://WP目錄/wp-admin。現在問題來了,如果用戶已經登錄,但是它又打開wp-login.php頁面,會出現什么樣的情況呢?答案是,WordPress不會做任何處理,還是直接給你顯示登錄窗口:
面對如此冰冷的登錄框,用戶會感到困惑,我剛剛不是已經登錄了嗎?怎么還要我輸入用戶名和密碼?所以,用戶登錄后,我們不該讓用戶再看到登錄框。解決此問題的辦法有兩個:
去除登錄鏈接
確保頁面中不再出現wp-login.php的鏈接。如用戶沒有登錄,網頁中我們可以這樣提示:
用戶登錄后,我們將上面的登錄和注冊鏈接刪除,換成:
這樣不僅可以讓用戶對是否已經登錄一目了然,而且不會誤點擊wp-login.php進入登錄界面。PHP編程只需用到WordPress的is_user_logged_in()函數判斷用戶是否已經登錄就可以實現。
wp-login.php做跳轉
有些時候,用戶登錄后還是會偶然點擊到wp-login.php登錄鏈接,如瀏覽器的地址欄。我們這時就該做些補救措施了,不要不作為讓登錄框顯示在用戶面前。這里介紹的方法是,當用戶已經登錄,但是又打開wp-login.php鏈接,我們就讓他跳轉到后臺首頁wp-admin,具體方法是,在當前主題的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' );
創建對用戶不可見的自定義欄目
如果你是一個插件或者主題開發者,應該經常會使用自定義欄目(或者叫自定義字段)來存儲你的插件或主題的相關參數,有趣的是,在WordPress后臺的文章編輯頁面或使用the_meta()模板函數時,WordPress不會顯示名稱以 _(下劃線)開頭的自定義欄目。
對一些不想讓用戶看到,更不想讓用戶修改的自定義欄目,我們可以使用此技巧,不僅讓文章編輯頁面的自定義欄目簡約些,而且不會讓用戶看到不熟悉的自定義欄目而感到困惑,甚至胡亂修改。下面是個使用范例:
<?php add_post_meta( 68, '_ludou', '露兜博客', true ); ?>
這樣就給id為68的文章添加了名稱為 _ludou,值為露兜博客的唯一的自定義欄目,而且在文章編輯頁面用戶也看不到。平常情況下,我們可能是這樣使用的,這樣在文章編輯頁的自定義了欄目中就能看到 ludou 字段:
<?php add_post_meta( 68, 'ludou', '露兜博客', true ); ?>
另外,當自定義欄目的值是一個數組時,在文章編輯頁面,該欄目對用戶也是不可見的,即使自定義欄目的名稱前沒加下劃線。
以上是“WordPress中如何實現登陸后關閉登陸頁面及設置用戶不可見欄目”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。