<noframes id="jjr3b"><form id="jjr3b"><th id="jjr3b"></th></form>

    <noframes id="jjr3b"><span id="jjr3b"><span id="jjr3b"></span></span>

    <noframes id="jjr3b"><form id="jjr3b"><th id="jjr3b"></th></form>
    <form id="jjr3b"></form>

    <noframes id="jjr3b">
      18868949445

      商洛公司網站設計:如何基于WordPress用戶角色顯示內容

      日期:2020-02-26 閱讀:362   作者:商洛網站設計開發公司

      在構建WordPress網站時,根據用戶的角色或功能提供內容或功能通常是有用的。例如,您可能希望在站點上顯示一些特殊內容--但只對管理員。這只是眾多可能性中的一種。

      WordPress有一個內置功能來提供幫助,這是非常方便的。這個current_user_can()函數允許您檢查登錄用戶的權限。根據這些信息,你可以為他們提供你喜歡的任何特別的東西。相反,您也可以關閉某些項目以及。

      按照前面提到的特殊內容示例,我們將討論幾個基本的片段讓我們加入這個功能。

      示例1:僅限管理員

      在本例中,我們商洛公司網站設計將檢查訪問我們頁面的登錄用戶是否是站點管理員。如果是的話,就會顯示一個小小的歡迎信息。

      在我們進入代碼之前,值得注意的是,檢查用戶權限的方法不止一種。WordPress Codex聲明,我們可以在current_user_can()函數,但是不建議使用它??赡軙胁粶蚀_的地方導致錯誤的事情發生。

      相反,我們可以使用特定用戶角色的功能。有一個完整的列單每個用戶角色在Codex中具有哪些功能。因此,與其檢查用戶是否是管理員,不如檢查用戶是否具有特定功能,例如激活。插件.

      現在,讓我們看看一些代碼。以下內容將出現在您選擇的主題模板中。

      <?phpif ( current_user_can( 'activate_plugins' ) ): // check for a capability that only admins have ?>
      
                <p>Howdy, Administrator!</p><?php endif; // end of user capability check ?>

      在這種情況下,我們正在檢查用戶是否能夠激活插件--只有管理員(以及在多站點安裝上,超級管理員)才有能力這樣做。

       

      示例2:讓我們與成員私交

      雖然第一個示例顯示了一個通用消息,但我們也可以創建一個更個性化的體驗。如果您運行的是會員網站。這有助于建立額外的社區意識。

      在這里,我們將添加一個個人消息,包括用戶的名字。我們可以通過get_current_user()功能。我們還將假設我們的成員被指定為WordPress中的訂閱者。

      <?php
      $current_user = wp_get_current_user(); // grab user info  from the database if ( current_user_can( 'read' ) ): // 'read' is the lowest  level capability ?>
      
                <p>Howdy, <?php echo $current_user->user_firstname; ?>! Thanks for being a part of our community.</p><?php endif; // end of user capability check ?>

      順便說一句,閱讀帖子的能力是WordPress中最底層的能力。因此,它適用于每個用戶級別--不僅僅是訂閱者。這只會確保我們沒有遺漏任何人。

      除了檢查讀取功能之外,我們還在消息中顯示用戶的名稱。然而,更多可能性關于可以添加到混合中的用戶數據。

      示例3:基于用戶功能的自定義頭

      最后一個例子,讓我們做一些更戲劇化的事情。我們將根據用戶的能力提供不同的主題標題。

      穿過get_header()函數,WordPress允許使用多個頭文件。并且根據用戶條件來顯示它們是非常有用的。例如,站點的成員可能從高度個性化的標題中受益。這樣,非成員就可以看到更通用的東西。

      在我們的代碼中,我們將再次檢查用戶是否具有讀取功能。我們還將添加一個額外的檢查,以確保他們登錄,通過is_user_logged_in()-只是為了好點.

      如果在項目中使用此代碼,它將替換<?php get_header(); ?>貫穿你的模板。

      <?phpif ( current_user_can( 'read' ) && (is_user_logged_in)  ): // the user can both read posts and is logged in?>
      
                <?php get_header( 'members' ); // load header-members.php for site members ?><?php else: ?>
      
                <?php get_header(); // the default header.php, for non-members ?><?php endif; // end of custom header conditional ?>

      上面,我們正在檢查用戶是否具有正確的功能,以及他們是否確實已登錄。如果這兩個項都返回為true,則將顯示一個自定義頭文件。否則,我們的主題的默認標題將被顯示。

      為用戶做更多事情的機會

      商洛公司網站設計上面的例子只是我們可以改善用戶體驗的一些小方法。但也有可能做更多的事情。真的,唯一的限制是你自己的想象力!

      因此,下次您構建WordPress站點時,請根據用戶的角色和功能尋找為他們提供功能的方法。他們會感謝你的努力,你會建立一個更完整的網站。


      网赚团队