久久精品国产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;">

      亚洲国产婷婷综合在线精品| 一本一本大道香蕉久在线精品 | 亚洲高清久久久| 91福利视频久久久久| 亚洲二区视频在线| 精品国内二区三区| 91一区二区在线| 视频一区二区三区在线| 久久精品综合网| 欧美性受xxxx| 国产一区 二区| 亚洲国产精品一区二区www在线| 欧美tickling挠脚心丨vk| 91丨国产丨九色丨pron| 另类人妖一区二区av| 国产精品免费人成网站| 欧美精品三级日韩久久| 丁香桃色午夜亚洲一区二区三区| 亚洲一区二区三区在线| 久久久亚洲午夜电影| 欧美视频一区二区| 99精品久久久久久| 国产99精品视频| 蜜桃一区二区三区在线| 亚洲成在人线在线播放| 亚洲视频狠狠干| 欧美国产成人精品| 337p粉嫩大胆色噜噜噜噜亚洲 | 午夜视频在线观看一区二区| 国产精品每日更新在线播放网址| 在线观看91av| 欧美三级电影在线看| 91麻豆精品一区二区三区| 国产在线播放一区三区四| 丝袜美腿成人在线| 亚洲午夜一区二区三区| 悠悠色在线精品| 亚洲色图.com| 一区精品在线播放| 亚洲视频 欧洲视频| 国产精品理伦片| 中文字幕第一区二区| 国产午夜精品在线观看| 久久九九久久九九| 国产日韩欧美制服另类| 中文在线一区二区| 18涩涩午夜精品.www| 国产精品第五页| 亚洲人成伊人成综合网小说| 亚洲欧美日韩系列| 亚洲高清不卡在线| 视频一区二区中文字幕| 日本视频中文字幕一区二区三区| 五月激情六月综合| 久久精品国产成人一区二区三区| 久久99精品久久久久婷婷| 精品在线播放午夜| 国产成人h网站| 99re成人精品视频| 欧美日韩国产成人在线免费| 欧美一区二区三区视频免费播放| 91麻豆精品91久久久久同性| 欧美一激情一区二区三区| 欧美不卡一区二区| 国产精品网曝门| 亚洲一二三四久久| 免费日韩伦理电影| 东方欧美亚洲色图在线| 在线观看视频一区| 欧美蜜桃一区二区三区| 久久久亚洲精品石原莉奈| 亚洲私人黄色宅男| 日本大胆欧美人术艺术动态| 国产丶欧美丶日本不卡视频| 色婷婷国产精品综合在线观看| 欧美精品自拍偷拍| 日本一区二区动态图| 一区二区三区四区av| 久久精工是国产品牌吗| 99免费精品视频| 日韩欧美在线不卡| 亚洲女同ⅹxx女同tv| 精品一区二区三区不卡| 91在线免费视频观看| 日韩手机在线导航| 亚洲精品成人在线| 国产麻豆视频精品| 欧美三级资源在线| 成人欧美一区二区三区小说| 蜜桃av噜噜一区二区三区小说| 99久久精品情趣| 精品av综合导航| 性欧美大战久久久久久久久| 成年人网站91| 久久精品在线免费观看| 污片在线观看一区二区| hitomi一区二区三区精品| 欧美草草影院在线视频| 亚洲午夜国产一区99re久久| 成人性生交大片| 久久先锋影音av| 欧美aaaaaa午夜精品| 欧美在线观看视频一区二区三区| 久久久久综合网| 精品综合久久久久久8888| 欧美久久婷婷综合色| 亚洲美女少妇撒尿| 91在线观看地址| 国产日韩欧美精品一区| 国产在线麻豆精品观看| 欧美一区二区三区公司| 亚洲地区一二三色| 欧美日韩三级一区| 亚洲一卡二卡三卡四卡五卡| 色94色欧美sute亚洲线路一久 | 亚洲男人的天堂在线aⅴ视频| 国产福利一区在线| 久久久久久久网| 国产综合久久久久久久久久久久 | 韩日av一区二区| 日韩精品一区二区三区在线观看 | 成人一二三区视频| 亚洲国产精品精华液2区45| 国产精品一区一区| 国产欧美日韩亚州综合| 成人性生交大片免费看在线播放 | 蓝色福利精品导航| 欧美一区二区三区不卡| 久久国产生活片100| www国产成人免费观看视频 深夜成人网| 人禽交欧美网站| 精品国产精品网麻豆系列| 国产精品综合一区二区三区| 欧美激情综合五月色丁香| 99在线精品观看| 亚洲国产sm捆绑调教视频| 欧美一区二区精品在线| 精一区二区三区| 中文字幕一区av| 欧美日韩在线精品一区二区三区激情 | 一区二区三区在线播放| 91精品久久久久久蜜臀| 韩国v欧美v亚洲v日本v| 中文字幕视频一区二区三区久| 在线观看中文字幕不卡| 日本网站在线观看一区二区三区 | 久久久天堂av| 日本丶国产丶欧美色综合| 日韩福利视频导航| 中文成人av在线| 欧美伦理视频网站| 韩国精品久久久| 亚洲影院免费观看| 精品国产乱码久久久久久免费| 91无套直看片红桃| 激情六月婷婷久久| 亚洲一区在线观看视频| 欧美va天堂va视频va在线| 91麻豆国产福利精品| 美国十次综合导航| 国产精品久久久一本精品 | 五月天亚洲精品| 日本一区二区在线不卡| 在线成人小视频| 91性感美女视频| 国产乱理伦片在线观看夜一区| 亚洲影院理伦片| 中文字幕亚洲欧美在线不卡| 日韩三级视频中文字幕| 在线一区二区三区四区五区| 国产成人综合在线播放| 蜜桃久久久久久久| 亚洲风情在线资源站| 中文字幕在线一区| 亚洲精品一区二区三区影院| 欧美日本精品一区二区三区| 91无套直看片红桃| www.色精品| 成人亚洲精品久久久久软件| 久久不见久久见免费视频7| 五月激情丁香一区二区三区| 一区二区三区中文字幕电影 | 综合av第一页| 久久久久久99精品| 精品国产一区二区三区四区四| 7777精品伊人久久久大香线蕉最新版| 91国内精品野花午夜精品| 国产99久久久久久免费看农村| 国内一区二区在线| 国产在线日韩欧美| 国产精品正在播放| 国产激情视频一区二区在线观看 | 国产精品亚洲成人| 免费精品视频在线| 日韩不卡一区二区三区 | 99久久99久久精品国产片果冻| 激情成人午夜视频| 国模冰冰炮一区二区| 国产一区二区三区四区五区入口| 免费成人av在线|