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

WordPress開發(fā) - options framework基礎(chǔ)應(yīng)用

很多wordpress主題都采用了這套o(hù)ptions framework 設(shè)置框架,這里有篇詳細(xì)的教程,大家一起來看看

看到好多免費(fèi)的wordpress主題都采用了這套后臺(tái)設(shè)置框架,就拿來研究下,其實(shí)設(shè)置框架也有很多類型,重要的不在于他的設(shè)置有多豐富,而是這個(gè)框架的使用是否明確。

正好,這款options framework 框架就貼心的準(zhǔn)備了一款主題來幫助各位新手開發(fā)者來了解這套框架,可惜的是,即使有這套主題的幫助,很多新手開發(fā)者對(duì)此也是一知半解,難以使用,這次在網(wǎng)絡(luò)上找到了一份有詳細(xì)使用教程的文檔,大家一起來學(xué)習(xí)下。

下載并解壓 Options Framework Theme 后可以看到文件夾中主要包含下圖所示的這些文件,我們只需要將images 文件夾、 inc 文件夾、options.php 文件復(fù)制到我們需要添加主題選項(xiàng)的主題中去,然后將該 functions.php 文件中調(diào)用 inc 文件夾內(nèi)容的部分復(fù)制到我們自己wordpress主題functions.php 文件中就可以了。
具體代碼如下 :

define( 'OPTIONS_FRAMEWORK_DIRECTORY', get_template_directory_uri() . '/inc/' );
require_once dirname( __FILE__ ) . '/inc/options-framework.php';

需要注意的是,對(duì)于默認(rèn)主題一般已經(jīng)有一個(gè) inc 文件夾用于存放模板文件或其他一些 php 文件,為了避免不必要的麻煩,建議將新復(fù)制的 inc 文件夾命名為 options-framework 或其他你喜歡的名稱,同時(shí)修改上述調(diào)用的路徑。如果是子主題還需要將 get_template_directory_uri() 替換為 get_stylesheet_directory_uri()。
修改Theme Options這個(gè)選項(xiàng)為主題選項(xiàng):

//找到includes/class-options-framework-admin.php,第83行
static function menu_settings() {
           $menu = array(
           // Modes: submenu, menu
            'mode' => 'submenu',
            // Submenu default settings
           'page_title' => __( 'Theme Options', 'theme-textdomain' ),
           'menu_title' => __( 'Theme Options', 'theme-textdomain' ),
           'capability' => 'edit_theme_options',
           'menu_slug' => 'options-framework',
            'parent_slug' => 'themes.php',
            // Menu default settings
            'icon_url' => 'dashicons-admin-generic',
            'position' => '61'
);
return apply_filters( 'optionsframework_menu', $menu );
}
//Theme Options改為主題設(shè)置
//'page_title' => __( '主題設(shè)置', 'theme-textdomain' ),打開后顯示的標(biāo)題名
//'menu_title' => __( '主題設(shè)置', 'theme-textdomain' ),外觀里面顯示的名稱

如何自定義選項(xiàng)?打開options.php中,按照這個(gè)文件的代碼就能做出自己的選項(xiàng)。比如:

<?php
/* options.php 第 94 行*///初始化存儲(chǔ)選項(xiàng)的$options數(shù)組
$options = array();
//定義一個(gè)選項(xiàng)卡,標(biāo)題是Basic Settings,注意type是heading
$options[] = array("name" => "Basic Settings",
    "type" => "heading");
    //定義一個(gè)text類型的input box,type要設(shè)置為text,class為mini會(huì)讓input長度比較短
    $options[] = array("name" => "Input Text Mini",
    "desc" => "A mini text input field.",
    "id" => "example_text_mini",
    "std" => "Default",
    "class" => "mini",
    "type" => "text");
//同上,但沒有設(shè)置class mini,input長度較長
$options[] = array("name" => "Input Text",
    "desc" => "A text input field.",
    "id" => "example_text",
    "std" => "Default Value",
    "type" => "text");
//輸出一個(gè)textarea
$options[] = array("name" => "Textarea",
    "desc" => "Textarea description.",
    "id" => "example_textarea",
    "std" => "Default Text",
    "type" => "textarea");
//輸出select下拉菜單,$test_array存儲(chǔ)下拉菜單的選項(xiàng),“std”表示默認(rèn)選中的項(xiàng)
$options[] = array( "name" => "Input Select Small",
 "desc" => "Small Select Box.",
 "id" => "example_select",
 "std" => "three",
 "type" => "select",
 "class" => "mini", //mini, tiny, small
 "options" => $test_array);
//對(duì)應(yīng)下面最后的代碼
$options[] = array(
    'name' => __('Input Checkbox Name', 'options_framework_theme'),
    'desc' => __('Check to display.'),
    'id' => 'example_checkbox_2',
    'std' => '1',
    'type' => 'checkbox'
);

總結(jié)如下:

//每添加一次下面代碼則會(huì)生成一個(gè)新的選項(xiàng)卡
$options[] = arry(
    'name' => __('選項(xiàng)卡名稱','默認(rèn)域'),
    'type' => 'heading'    //選項(xiàng)卡的 type 必須為 heading
);
 
//下面這段代碼是添加具體選項(xiàng)的,可重復(fù)使用
$options[] = array(
    "name" =>__('元素名稱','默認(rèn)域'),
    "desc" =>__('元素描述','默認(rèn)域'),
    "id" =>'元素ID必填,調(diào)用時(shí)用', 
    "std" =>'元素的默認(rèn)值', 
    "class" =>'元素的class',
    "type" =>'元素的類型',
    "settings"=>'調(diào)用默認(rèn)編輯器時(shí)使用'
);

其他參數(shù)沒有什么需要特殊說明的,唯一需要說明的是 type ,目前 Options Framework 支持的選項(xiàng)類型主要有:text、textarea、checkbox、select、radio、upload(上傳圖片)、images(充當(dāng)一個(gè)單選按鈕,更形象化)、background、multicheck、color、typography、editor 。

修改輸出方式

Options Framework 默認(rèn)是使用 of_get_option() 作為輸出函數(shù)的,其默認(rèn)輸出方式為:

<?php echo of_get_option('元素id', '默認(rèn)輸出內(nèi)容'); ?>

對(duì)于該函數(shù)的定義在 inc 文件夾下的 options-framework.php 中,具體代碼如下:

if ( ! function_exists( 'of_get_option' ) ) :
    function of_get_option( $name, $default = false ) {
        $option_name = '';
        // Gets option name as defined in the theme
        if ( function_exists( 'optionsframework_option_name' ) ) {
            $option_name = optionsframework_option_name();
        }
        // Fallback option name
        if ( '' == $option_name ) {
            $option_name = get_option( 'stylesheet' );
            $option_name = preg_replace( "/\W/", "_", strtolower( $option_name ) );
        }
        // Get option settings from database
        $options = get_option( $option_name );
        // Return specific option
        if ( isset( $options[$name] ) ) {
            return $options[$name];
        }
    return $default;
    }
endif;

我們可以找到該函數(shù)將函數(shù)名 of_get_option 修改為任意你想修改的內(nèi)容,同時(shí)在調(diào)用選項(xiàng)的值時(shí),輸出函數(shù)也要替換為新的輸出函數(shù)名。

添加 JavaScript 支持
Options Framework 提供了眾多的選項(xiàng)類型,但是遺憾的是并沒有提供 JS 代碼的選項(xiàng),不過在 class-options-framework-admin.php 中提供了添加 script 的鉤子,我們可以通過在 functions.php 文件中添加如下代碼使其對(duì) JavaScript 進(jìn)行支持。

function optionsframework_custom_scripts() { ?>
    <script type="text/javascript">
        jQuery(document).ready(function() {
            jQuery('#example_showhidden').click(function() {
            jQuery('#section-example_text_hidden').fadeToggle(400);
            });
            if (jQuery('#example_showhidden:checked').val() !== undefined) {
                jQuery('#section-example_text_hidden').show();
            }
        });
    </script><?php
}

這里有一套框架作者寫的教程,可以看看:

WordPress開發(fā) - Options Framework輕量級(jí)后臺(tái)框架使用設(shè)置舉例

至此,就是本篇wordpress開發(fā)教程的全部內(nèi)容了,如果你還在找一套更加專業(yè)的開發(fā)框架,你也可以看看這套:

Codestar Framework - 簡約實(shí)用的wordpress主題選項(xiàng)框架

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

    9000px;">

      欧美性大战久久久久久久 | 中文字幕不卡在线| 日韩午夜精品电影| 欧美高清一级片在线| 欧美视频日韩视频| 色呦呦国产精品| 99热国产精品| 国产99久久久国产精品| 国产不卡视频一区| 成人黄页在线观看| 99视频在线观看一区三区| bt7086福利一区国产| 91捆绑美女网站| 欧日韩精品视频| 555www色欧美视频| 久久男人中文字幕资源站| 久久精品日韩一区二区三区| 欧美国产日韩亚洲一区| 日韩毛片一二三区| 亚洲国产精品久久艾草纯爱| 免费在线一区观看| 亚洲精品国产精品乱码不99| 亚洲午夜电影在线观看| 午夜精品久久久久久久99樱桃| 日韩有码一区二区三区| 国产一区在线看| 成人黄色免费短视频| 91成人免费在线视频| 欧美高清激情brazzers| 国产日韩精品一区| 一级中文字幕一区二区| 久久精品国产99| 色先锋资源久久综合| 欧美一级片在线| 国产精品麻豆欧美日韩ww| 亚洲成人av电影在线| 国产成都精品91一区二区三| 日本高清免费不卡视频| 欧美va亚洲va香蕉在线| 亚洲日本在线看| 九九在线精品视频| 色综合网色综合| 久久中文娱乐网| 一区二区三区四区不卡视频| 日本aⅴ免费视频一区二区三区| 国产成人av自拍| 欧美日韩在线观看一区二区| 精品国产电影一区二区| 亚洲国产美国国产综合一区二区| 国产精选一区二区三区| 欧美日韩高清一区| 中文字幕五月欧美| 久久国产精品免费| 欧美日韩国产综合视频在线观看| 欧美国产日韩精品免费观看| 日本午夜一区二区| 在线观看亚洲a| 中文字幕欧美激情| 精品亚洲成av人在线观看| 欧美精品一级二级三级| **网站欧美大片在线观看| 久久成人免费日本黄色| 欧美理论片在线| 亚洲精品国产品国语在线app| 国产麻豆精品视频| 欧美成人一区二区三区片免费 | 另类调教123区 | 欧美国产精品久久| 日韩在线一区二区| 欧美主播一区二区三区美女| 国产精品免费丝袜| 国产精品影视网| 精品电影一区二区三区| 日本亚洲三级在线| 日韩欧美精品在线| 欧美aⅴ一区二区三区视频| 色综合咪咪久久| 成人免费小视频| 成人午夜视频在线观看| 2021国产精品久久精品| 久久99久久99精品免视看婷婷 | 日韩小视频在线观看专区| 亚洲第一在线综合网站| 欧美日韩中文国产| 亚洲成人免费影院| 欧美日韩在线播| 婷婷综合五月天| 91精品久久久久久久久99蜜臂| 亚洲国产日韩a在线播放性色| 色婷婷av久久久久久久| 亚洲动漫第一页| 欧美日韩视频在线观看一区二区三区| 亚洲综合激情小说| 欧美一级高清大全免费观看| 国内精品久久久久影院薰衣草| 精品人在线二区三区| 国产精品一级片在线观看| 中文字幕av免费专区久久| 91网站最新地址| 一区二区三区欧美久久| 欧美日韩国产免费一区二区| 蜜桃视频一区二区| 国产精品视频线看| 91视频免费观看| 午夜不卡av免费| 精品国产乱码久久久久久久| 国产成人精品一区二区三区四区| 亚洲色图欧洲色图婷婷| 欧美精品丝袜久久久中文字幕| 久久国产欧美日韩精品| 亚洲天堂网中文字| 日韩欧美一级精品久久| 成人性生交大合| 日韩电影在线一区| 欧美激情在线一区二区三区| 91麻豆国产在线观看| 免费成人结看片| 17c精品麻豆一区二区免费| 欧美一级片在线| 色婷婷综合久久久| 国产电影一区二区三区| 亚洲五月六月丁香激情| 国产视频在线观看一区二区三区 | 国产亚洲短视频| 99久久婷婷国产综合精品电影 | 日韩av中文字幕一区二区| 久久嫩草精品久久久久| 欧美日韩一区在线观看| 国产丶欧美丶日本不卡视频| 亚洲va欧美va国产va天堂影院| 亚洲国产经典视频| 欧美成人一级视频| 欧美精品丝袜中出| 91黄色免费看| 成人免费观看视频| 极品少妇xxxx精品少妇偷拍| 亚洲电影你懂得| 亚洲男同1069视频| 久久亚洲春色中文字幕久久久| 在线观看欧美精品| 成人不卡免费av| 国产永久精品大片wwwapp| 亚洲国产日韩综合久久精品| 国产欧美一区视频| 精品国产一区二区三区四区四| 欧美日韩一区不卡| 91精品办公室少妇高潮对白| 成人激情免费电影网址| 国产成人鲁色资源国产91色综| 久久精品国产免费看久久精品| 视频一区二区三区在线| 亚洲一区国产视频| 一卡二卡三卡日韩欧美| 亚洲视频免费看| **欧美大码日韩| 一区二区三区四区激情 | 青青草成人在线观看| 亚洲第一福利一区| 婷婷开心激情综合| 午夜精品福利在线| 秋霞午夜鲁丝一区二区老狼| 偷拍与自拍一区| 日韩精品免费专区| 日韩中文字幕不卡| 美洲天堂一区二卡三卡四卡视频| 日韩福利视频导航| 极品美女销魂一区二区三区免费| 久久超碰97人人做人人爱| 激情偷乱视频一区二区三区| 裸体歌舞表演一区二区| 国产另类ts人妖一区二区| 国产精品亚洲成人| www.66久久| 欧洲色大大久久| 91精品国产入口| 欧美sm美女调教| 中文字幕日本乱码精品影院| 色天天综合色天天久久| 欧美三级电影网站| 欧美日韩国产大片| 欧美一区二区日韩| 精品欧美乱码久久久久久1区2区| 26uuu国产日韩综合| 欧美激情在线观看视频免费| 亚洲色图欧美激情| 天堂久久久久va久久久久| 美脚の诱脚舐め脚责91 | 亚洲色欲色欲www| 五月天一区二区| 九色综合国产一区二区三区| 国产99久久久久久免费看农村| 成人午夜激情在线| 欧美日韩精品欧美日韩精品一| 欧美成人三级在线| 亚洲黄色av一区| 久久99精品一区二区三区| www.日本不卡| 日韩视频中午一区| 樱桃国产成人精品视频| 韩国av一区二区三区四区|