久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

01:講透WordPress 菜單開發 - 在菜單中添加Tab選項卡

本節詳細介紹了在頂級菜單中實現 Tab 切換選項卡的每一步實現的思路,大家可以據此,寫出在子菜單中添加 Tab 切換選項卡功能。

在上一節中,我們學習了如何在 WordPress 中添加菜單的操作,包括頂級菜單、子菜單、默認菜單下的子菜單等。

相信你已經可以按照自己的實際需求添加菜單了。

本文主要解決如何在菜單中添加 Tab 選項卡的問題。

問題詳解

若單一菜單中內容過多,加子菜單又嫌麻煩,可嘗試添加本節介紹的 Tab 選項卡菜單。

他可以在當前頁面中展示多個選項卡,可以很方便的在當前菜單頁面中的各個 Tab 選項卡中進行切換,效果如下:

01:講透WordPress 菜單開發 - 在菜單中添加Tab選項卡

流程和幫助

流程如下

01:講透WordPress 菜單開發 - 在菜單中添加Tab選項卡

感謝以下文章的幫助

添加菜單

根據上一節的內容,我們先添加一個頂級菜單,在當前使用主題的 functions.php 文件底部添加以下內容

//創建一個Demo菜單
function demo_create_menu_page()
{
    add_menu_page(
        'Demo選項',                   // 此菜單對應頁面上顯示的標題
        'Demo',                      // 要為此實際菜單項顯示的文本
        'administrator',             // 哪種類型的用戶可以看到此菜單
        'demo_id',                   //  此菜單項的唯一ID(即段塞)
        'demo_menu_page_display',    // 呈現此頁面的菜單時要調用的函數的名稱
        'dashicons-smiley',          //圖標 - 默認圖標
        '600.1',                     //位置
    );
} // end vuespa_create_menu_page 
add_action('admin_menu', 'demo_create_menu_page');

//Demo菜單的回調
function demo_menu_page_display()
{
?>
    <div class="wrap">
    Npcink
    </div><!--/wrap-->
<?php
}

接下來的內容,就是圍繞這個菜單回調函數 demo_menu_page_display() 來操作的。

添加選項卡

WordPress 準備好了一套默認的樣式,我們直接使用即可。在回調函數中添加以下內容

<h2 class="nav-tab-wrapper">
    <a href="?page=demo_id&tab=display_options" class="nav-tab">Display Options</a>
    <a href="?page=demo_id&tab=social_options" class="nav-tab">Social Options</a>
</h2>

這里,我們手動構造了兩個選項卡和選項卡的鏈接,通過點擊不同的選項卡,觸發不同的鏈接。

注意 demo_id 部分,這里是用的頂級菜單的slug 的,需要注意憑借這個,才能找到我們需要的內容

菜單切換

為了知道當前是哪個選項卡,我們需要添加以下函數

<?php
if( isset( $_GET[ 'tab' ] ) ) {
    $active_tab = $_GET[ 'tab' ];
} // end if 
?>    

編寫一個條件來檢查是否設置了查詢字符串值,如果是,則將其存儲在變量中。

然后,為了讓用戶知道當前所在的菜單,我們需要進行判斷,

  • 若當前的 Tab 的值 是當前菜單,顯示選中狀態。
  • 若當前的 Tab 的值 不是當前菜單,顯示未選中狀態。

修改上面的選項卡內容

<h2 class="nav-tab-wrapper">
    <a href="?page=demo_id&tab=display_options" class="nav-tab <?php echo $active_tab == 'display_options' ? 'nav-tab-active' : ''; ?>">Display Options</a>
    <a href="?page=demo_id&tab=social_options" class="nav-tab <?php echo $active_tab == 'social_options' ? 'nav-tab-active' : ''; ?>">Social Options</a>
</h2>

WordPress 也提供了對應的樣式,這里,我們通過三元運算符實現樣式切換。

若當前鏈接顯示的是當前菜單選項,則添加樣式 nav-tab-active

然后,初次進入菜單時,我們是拿不到 Tab 選項內容的,此時,用戶還沒有點擊我們構造的鏈接。

這里需要設置一個默認展示的菜單。

$active_tab = isset( $_GET[ 'tab' ] ) ? $_GET[ 'tab' ] : 'display_options';

這樣,在初次進入菜單頁面時,如果拿不到 Tab 的值,就展示菜單 display_options 的值。

內容切換

完成了菜單切換,我們還需要切換內容的顯示,不同的菜單對應不同的內容。

我們添加以下代碼

<?php
            //根據當前 Tab 展示對應內容
            if ($active_tab == 'display_options') {
            ?>
                <h3>Npcink 放置需要展示的內容</h3>
            <?php
            } else {
            ?>
                <h3>Npcink 放置準備展示的函數</h3>
            <?php
                //展示設置字段和設置節

            } // end if/else
?>

通過簡單的 if 判斷,就能根據不同的菜單 Tab 展示不同的內容了。

當然,若您有興趣了解的話,可以查查什么是設置字段和設置節,

一般情況下,這塊的內容應該是這樣的

<form method="post" action="options.php">
            <?php
            //根據當前 Tab 展示對應內容
            if ($active_tab == 'display_options') {
            ?>
                <h3>Npcink 放置需要展示的內容</h3>
            <?php
                //展示設置字段和設置節
                settings_fields('sandbox_theme_display_options');
                do_settings_sections('sandbox_theme_display_options');
            } else {
            ?>
                <h3>Npcink 放置準備展示的函數</h3>
            <?php
                //展示設置字段和設置節
                settings_fields('sandbox_theme_social_options');
                do_settings_sections('sandbox_theme_social_options');
            } // end if/else

            //保存按鈕
            submit_button();

            ?>
        </form>

完整代碼

前面詳細介紹了每一步的作用,這里給出完整代碼,供大家參考

//創建一個Demo菜單
function demo_create_menu_page()
{
    add_menu_page(
        'Demo選項',                   // 此菜單對應頁面上顯示的標題
        'Demo',                      // 要為此實際菜單項顯示的文本
        'administrator',             // 哪種類型的用戶可以看到此菜單
        'demo_id',                   //  此菜單項的唯一ID(即段塞)
        'demo_menu_page_display',    // 呈現此頁面的菜單時要調用的函數的名稱
        'dashicons-smiley',          //圖標 - 默認圖標
        '600.1',                     //位置
    );
} // end vuespa_create_menu_page 
add_action('admin_menu', 'demo_create_menu_page');

//Demo菜單的回調
function demo_menu_page_display()
{
?>
    <div class="wrap">
    <!--標題-->
        <h2>
            <?php echo esc_html(get_admin_page_title()); ?>
        </h2>
        <!-- 在保存設置時調用 WordPress 函數以呈現錯誤. -->
        <?php settings_errors(); ?>

        <?php

        //檢查URL中是否存在名為 "tab" 的GET參數,并將其值分配給變量 $active_tab
        if (isset($_GET['tab'])) {
            $active_tab = $_GET['tab'];
        } // end if

        //設置默認值
        $active_tab = isset($_GET['tab']) ? $_GET['tab'] : 'display_options';
        ?>

        <!--這里的鏈接手動構造,注意,page=你填的菜單slug-->
        <h2 class="nav-tab-wrapper">
            <a href="?page=demo_id&tab=display_options" class="nav-tab <?php echo $active_tab == 'display_options' ? 'nav-tab-active' : ''; ?>">Display Options</a>
            <a href="?page=demo_id&tab=social_options" class="nav-tab <?php echo $active_tab == 'social_options' ? 'nav-tab-active' : ''; ?>">Social Options</a>
        </h2>



        <form method="post" action="options.php">
            <?php
            //根據當前 Tab 展示對應內容
            if ($active_tab == 'display_options') {
            ?>
                <h3>Npcink 放置需要展示的內容</h3>
            <?php
                //展示設置字段和設置節
                settings_fields('sandbox_theme_display_options');
                do_settings_sections('sandbox_theme_display_options');
            } else {
            ?>
                <h3>Npcink 放置準備展示的函數</h3>
            <?php
                //展示設置字段和設置節
                settings_fields('sandbox_theme_social_options');
                do_settings_sections('sandbox_theme_social_options');
            } // end if/else

            //保存按鈕
            submit_button();

            ?>
        </form>
    </div><!--/wrap-->
<?php
}

注意,因為我們沒有配置設置字段和設置節,所以,點擊保存按鈕會報錯,

為了專注,這里僅做拓展介紹,并不提供相關實現內容。

總結

這一節,我們詳細的介紹了菜單 Tab 切換的每一步,

您可以參考代碼,實現在子菜單中添加 Tab 選項內容。

下一節,我們分享如何對菜單進行權限控制,僅允許指定人員訪問,以及僅在指定菜單中加載 JS 資源。

最新文章

  • 后續文章持續撰寫中,點個關注,獲取平臺最新文章推送。
  • 技術有限,還望諸位協助勘誤,于評論區指出,
  • 常一文多發,最新勘定和增補文章于下方鏈接給出
  • http://m.kartiktrivedi.com/277333.html

給TA贊賞
共{{data.count}}人
人已贊賞
??
Npcink上的部份代碼及教程來源于互聯網,僅供網友學習交流,若您喜歡本文可附上原文鏈接隨意轉載。
無意侵害您的權益,請發送郵件至 1355471563#qq.com 或點擊右側 私信:Muze 反饋,我們將盡快處理。
?
購物車
優惠劵
搜索
久久精品国产99国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

    9000px;">

      欧美主播一区二区三区美女| 中文一区二区完整视频在线观看| 久久精品亚洲乱码伦伦中文| 国内成人免费视频| 国产午夜精品一区二区| 粉嫩在线一区二区三区视频| 国产精品久久久久久久浪潮网站| 在线免费观看视频一区| 裸体歌舞表演一区二区| 中文字幕av不卡| 欧美精品成人一区二区三区四区| 国产主播一区二区三区| 伊人开心综合网| 欧美xxxxx裸体时装秀| 97se狠狠狠综合亚洲狠狠| 青青青伊人色综合久久| 亚洲精品国久久99热| 久久免费偷拍视频| 精品视频123区在线观看| 国产久卡久卡久卡久卡视频精品| 亚洲国产欧美日韩另类综合 | 欧美三级三级三级爽爽爽| 精品一区二区三区在线播放| 亚洲乱码精品一二三四区日韩在线 | 不卡av电影在线播放| 亚洲成av人片在www色猫咪| 久久亚区不卡日本| 在线不卡免费欧美| 在线免费视频一区二区| 国产aⅴ精品一区二区三区色成熟| 图片区小说区区亚洲影院| 亚洲人成网站色在线观看| 26uuu色噜噜精品一区二区| 欧美日韩小视频| av电影天堂一区二区在线 | 在线电影院国产精品| 99久久久久久99| 粉嫩嫩av羞羞动漫久久久| 激情久久久久久久久久久久久久久久| 亚洲电影一区二区| 亚洲人成电影网站色mp4| 日本一区二区三区四区在线视频 | 在线观看亚洲a| 91麻豆国产在线观看| 99热在这里有精品免费| 成人a级免费电影| 成人免费高清在线观看| 国产精品一二二区| 国产又黄又大久久| 国产盗摄精品一区二区三区在线 | 91免费观看国产| 99久久国产综合精品女不卡| 国产福利一区二区三区视频| 精一区二区三区| 国产一区二区在线电影| 国产又粗又猛又爽又黄91精品| 麻豆国产91在线播放| 精品一区二区久久久| 国产成人高清在线| 99久久精品免费看国产 | 欧美亚洲动漫另类| 欧美系列亚洲系列| 日韩欧美专区在线| 国产亚洲一区二区三区在线观看| 欧美激情在线免费观看| 国产精品理伦片| 亚洲午夜精品网| 久久激五月天综合精品| 丰满岳乱妇一区二区三区| 91在线精品一区二区三区| 在线观看一区不卡| 日韩精品中文字幕在线一区| 国产亚洲成av人在线观看导航 | 2017欧美狠狠色| 自拍视频在线观看一区二区| 亚洲一区二区欧美激情| 日本欧美一区二区在线观看| 国产精品资源在线看| 91亚洲精品乱码久久久久久蜜桃 | 欧美一级高清大全免费观看| 欧美mv日韩mv亚洲| 亚洲欧洲成人av每日更新| 亚洲国产精品一区二区www在线| 视频一区二区三区中文字幕| 国产一区在线观看麻豆| 色狠狠色噜噜噜综合网| 日韩一区二区麻豆国产| 国产精品久久网站| 久久精品国产99国产| 91精品办公室少妇高潮对白| 久久人人超碰精品| 亚洲成人av免费| 成人黄色免费短视频| 91精品国产色综合久久不卡蜜臀| 欧美高清在线一区| 麻豆freexxxx性91精品| 91国产成人在线| 国产精品丝袜黑色高跟| 热久久久久久久| 91成人在线观看喷潮| 久久久久久久久久电影| 乱中年女人伦av一区二区| 91国产精品成人| 国产精品成人免费在线| 激情文学综合插| 日韩欧美激情一区| 天天综合天天综合色| 色综合久久久久综合体桃花网| 国产午夜亚洲精品不卡| 久久精品72免费观看| 欧美一区三区二区| 亚洲va国产va欧美va观看| 91精品福利视频| 一区二区三区欧美在线观看| aa级大片欧美| **欧美大码日韩| aaa亚洲精品一二三区| 国产精品久久看| www.一区二区| 综合色天天鬼久久鬼色| 波多野结衣中文字幕一区二区三区| 久久久久久97三级| 国产高清精品久久久久| 国产视频一区二区在线| 国产91精品精华液一区二区三区 | 成人深夜在线观看| 国产精品天天摸av网| 成人av在线电影| 亚洲人吸女人奶水| 欧美日韩色一区| 午夜精品免费在线| 日韩一区二区三区三四区视频在线观看 | 91丝袜高跟美女视频| 国产欧美日韩激情| 不卡一区中文字幕| 一区二区三区欧美久久| 欧美巨大另类极品videosbest| 丝袜美腿亚洲一区| 欧美精品一区二区久久婷婷| 国产成人免费视频网站高清观看视频| 国产亚洲人成网站| 99九九99九九九视频精品| 一区二区三区成人| 日韩午夜三级在线| 福利一区福利二区| 曰韩精品一区二区| 91精品国产入口| 国产精品自拍在线| 洋洋av久久久久久久一区| 欧美喷潮久久久xxxxx| 蜜桃视频一区二区三区在线观看| 久久久精品天堂| 在线免费观看不卡av| 久久精品国产免费看久久精品| 中文字幕欧美区| 91麻豆精品国产91久久久久久久久 | 欧美亚洲一区二区在线| 久久99精品久久久久久| 亚洲欧洲三级电影| 日韩西西人体444www| 97se亚洲国产综合自在线不卡| 日本午夜精品视频在线观看| 日本一区二区三区在线观看| 欧美日韩专区在线| 成人美女视频在线观看18| 肉色丝袜一区二区| 国产精品乱码一区二区三区软件| 欧美怡红院视频| 成人免费精品视频| 久久国内精品视频| 午夜免费久久看| 亚洲色图19p| 国产亚洲女人久久久久毛片| 制服丝袜日韩国产| 日本久久一区二区| 国产高清不卡一区二区| 秋霞成人午夜伦在线观看| 亚洲美女屁股眼交3| 久久亚洲影视婷婷| 欧美高清视频在线高清观看mv色露露十八| 国产精品一色哟哟哟| 日本怡春院一区二区| 亚洲主播在线播放| 国产精品福利影院| 久久精品视频在线免费观看 | 国产综合色视频| 日韩av中文字幕一区二区三区| 亚洲色图清纯唯美| 国产精品久久久久9999吃药| 久久人人爽人人爽| 26uuu亚洲| 久久亚洲精华国产精华液| 91精品婷婷国产综合久久性色| 91黄色免费看| 欧美三级乱人伦电影| 欧美系列一区二区| 欧美色偷偷大香| 欧美日韩国产美女| 欧美一区二区三区视频在线| 制服丝袜中文字幕亚洲|