久久精品国产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国产精品免费看_中文成人在线_日本在线播放视频_精品国产一区二区三区在线观看

    激情综合网激情| …久久精品99久久香蕉国产 | 欧美另类极品videosbest最新版本| 国产一区二区三区高清| 久久亚洲精品欧美| 99精品视频一区| 欧美日韩免费观看一区| 欧美一区二区三区免费大片| 精品盗摄一区二区三区| 久久综合久久综合这里只有精品| 亚洲日韩欧美视频| 国产欧美精品一区二区三区介绍| 久久久水蜜桃| 一级成人国产| 尤物九九久久国产精品的特点 | 亚洲国产毛片完整版| 欧美区一区二区三区| 久久国产视频网站| av成人动漫| 1024日韩| 国产一区深夜福利| 欧美天堂亚洲电影院在线观看 | 一本综合久久| 在线看片第一页欧美| 欧美成人免费视频| 久久国产精品99国产精| 99视频在线精品国自产拍免费观看 | 一区二区视频免费完整版观看| 欧美—级在线免费片| 久久一二三国产| 久久国产欧美精品| 欧美一区二区高清在线观看| 99天天综合性| 亚洲精品男同| 亚洲人被黑人高潮完整版| 国产专区综合网| 国产日韩视频| 国产女人精品视频| 国产伦精品一区二区三区免费| 欧美日韩精品一区| 欧美日韩亚洲综合| 欧美看片网站| 欧美巨乳波霸| 欧美午夜在线视频| 国产精品扒开腿做爽爽爽视频| 欧美日韩成人综合| 欧美日韩成人综合| 欧美日韩精品综合在线| 欧美日韩精品一区| 欧美午夜免费| 国产精品系列在线| 国产精品免费电影| 国产精品视频免费一区| 国产午夜精品久久久久久免费视| 国产日韩欧美电影在线观看| 国产亚洲一级| 亚洲大片一区二区三区| 一本久道久久综合狠狠爱| 日韩视频不卡| 亚洲综合三区| 久久综合色婷婷| 欧美日韩国产探花| 国产精品日韩欧美综合| 国产区精品在线观看| 狠狠狠色丁香婷婷综合激情| 亚洲国产精品一区在线观看不卡 | 国产精品久久二区二区| 久久黄色网页| 裸体女人亚洲精品一区| 欧美日韩国产小视频在线观看| 国产精品高潮呻吟| 韩日视频一区| 一本色道久久99精品综合| 午夜精品亚洲一区二区三区嫩草| 久久久www成人免费毛片麻豆| 欧美成人免费播放| 国产精品亚洲产品| 亚洲欧洲偷拍精品| 亚洲男人的天堂在线观看| 蜜桃av久久久亚洲精品| 国产精品成人va在线观看| 国内精品嫩模av私拍在线观看 | 国产一区二区三区在线观看视频| 亚洲国产精品va| 亚洲欧美综合网| 欧美护士18xxxxhd| 国产精品视频免费观看www| 亚洲国产国产亚洲一二三| 午夜精品视频| 欧美日韩伦理在线免费| 激情欧美亚洲| 小处雏高清一区二区三区 | 国产一区二区三区无遮挡| 一区二区国产精品| 欧美h视频在线| 国内精品视频666| 欧美一区二区三区视频在线观看 | 午夜精品久久一牛影视| 欧美激情一区在线观看| 韩国av一区二区| 亚洲综合三区| 国产精品爱久久久久久久| 亚洲日本中文字幕| 久久―日本道色综合久久| 国产精品亚洲成人| 亚洲欧美在线观看| 欧美色图五月天| 国产精品99久久久久久久久| 欧美精品成人一区二区在线观看| 国产一区二区三区四区在线观看 | 欧美视频精品一区| 亚洲精品国产精品国自产观看浪潮 | 国产精品一区在线播放| 亚洲婷婷在线| 欧美午夜剧场| 亚洲欧美高清| 国产精品一二三四| 欧美一区二区免费观在线| 欧美人与性禽动交情品| 极品裸体白嫩激情啪啪国产精品| 亚洲一区欧美| 国产精品白丝黑袜喷水久久久| 一区二区三区日韩欧美精品| 欧美精品首页| 亚洲欧美成人在线| 国产精品乱码一区二区三区| 日韩一级黄色片| 国产精品xnxxcom| 欧美中文字幕| 亚洲激情成人在线| 欧美日韩国产在线| 亚洲欧美自拍偷拍| 国产性色一区二区| 欧美国产视频在线| 在线亚洲免费| 国产午夜精品久久| 男男成人高潮片免费网站| 亚洲精品国产精品国自产观看浪潮 | 激情伊人五月天久久综合| 欧美一级电影久久| 国内精品伊人久久久久av一坑| 久久久亚洲精品一区二区三区| 亚洲国产清纯| 国产精品中文在线| 欧美激情1区| 亚洲欧美在线网| 亚洲欧洲免费视频| 国产精品一级二级三级| 免费不卡在线观看| 亚洲伊人色欲综合网| 亚洲国产第一| 国产美女一区二区| 欧美另类变人与禽xxxxx| 午夜影院日韩| 亚洲日本欧美日韩高观看| 国产日韩在线亚洲字幕中文| 女主播福利一区| 久久国产精品久久久久久| aa级大片欧美| 亚洲激情av| 激情婷婷欧美| 国产精品资源| 欧美日韩亚洲综合| 欧美大片第1页| 久久噜噜噜精品国产亚洲综合| 在线亚洲免费| 亚洲精品美女91| 狠狠色综合网站久久久久久久| 欧美视频在线播放| 欧美另类videos死尸| 久久这里有精品视频| 欧美一区二区啪啪| 一区二区欧美国产| 亚洲精品在线视频观看| 伊人男人综合视频网| 国产一区二区三区日韩| 国产精品卡一卡二卡三| 国产精品高潮在线| 国产精品电影在线观看| 欧美日韩在线一区二区| 欧美日韩精品一二三区| 欧美精品性视频| 欧美日韩成人在线播放| 欧美精品亚洲精品| 欧美片在线观看| 欧美久久久久| 欧美日韩久久不卡| 欧美日韩在线精品一区二区三区| 欧美精品激情在线观看| 欧美精品一区在线播放| 欧美伦理一区二区| 欧美日韩在线视频首页| 国产日韩欧美精品在线| 亚洲国产精品成人一区二区| 在线视频精品一| 欧美一区二区三区久久精品| 欧美成人日本| 国产欧美一区二区白浆黑人| 在线看无码的免费网站| 亚洲欧美日韩国产中文在线|