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

WordPress開發 – options framework基礎應用

很多wordpress主題都采用了這套options framework 設置框架,這里有篇詳細的教程,大家一起來看看

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

正好,這款options framework 框架就貼心的準備了一款主題來幫助各位新手開發者來了解這套框架,可惜的是,即使有這套主題的幫助,很多新手開發者對此也是一知半解,難以使用,這次在網絡上找到了一份有詳細使用教程的文檔,大家一起來學習下。

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

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

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

//找到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改為主題設置
//'page_title' => __( '主題設置', 'theme-textdomain' ),打開后顯示的標題名
//'menu_title' => __( '主題設置', 'theme-textdomain' ),外觀里面顯示的名稱

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

<?php
/* options.php 第 94 行*///初始化存儲選項的$options數組
$options = array();
//定義一個選項卡,標題是Basic Settings,注意type是heading
$options[] = array("name" => "Basic Settings",
    "type" => "heading");
    //定義一個text類型的input box,type要設置為text,class為mini會讓input長度比較短
    $options[] = array("name" => "Input Text Mini",
    "desc" => "A mini text input field.",
    "id" => "example_text_mini",
    "std" => "Default",
    "class" => "mini",
    "type" => "text");
//同上,但沒有設置class mini,input長度較長
$options[] = array("name" => "Input Text",
    "desc" => "A text input field.",
    "id" => "example_text",
    "std" => "Default Value",
    "type" => "text");
//輸出一個textarea
$options[] = array("name" => "Textarea",
    "desc" => "Textarea description.",
    "id" => "example_textarea",
    "std" => "Default Text",
    "type" => "textarea");
//輸出select下拉菜單,$test_array存儲下拉菜單的選項,“std”表示默認選中的項
$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);
//對應下面最后的代碼
$options[] = array(
    'name' => __('Input Checkbox Name', 'options_framework_theme'),
    'desc' => __('Check to display.'),
    'id' => 'example_checkbox_2',
    'std' => '1',
    'type' => 'checkbox'
);

總結如下:

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

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

修改輸出方式

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

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

對于該函數的定義在 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;

我們可以找到該函數將函數名 of_get_option 修改為任意你想修改的內容,同時在調用選項的值時,輸出函數也要替換為新的輸出函數名。

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

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開發 – options framework基礎應用

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

WordPress開發 – options framework基礎應用

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

    9000px;">

      亚洲精品男人的天堂| 97人妻人人澡人人爽人人精品 | 亚洲一级中文字幕| 中文字幕乱伦视频| 中文字幕一区二区在线视频| 一区二区视频免费看| 在线播放av网址| 最新日本中文字幕| 亚洲国产高清av| 亚洲天堂视频在线| www.99r| 成人综合久久网| 国产精品久久久久久亚洲色| 国产精品一品二区三区的使用体验| 国产精品久免费的黄网站| 亚洲熟妇av乱码在线观看| 中文字幕在线观看精品| 亚洲卡一卡二卡三| 99热这里只有精品在线| www.国产精品视频| 国产精品揄拍100视频| 精品久久久久久久久久久久久久久久| 国产美女免费无遮挡| 激情小说中文字幕| 欧美视频xxx| 精品久久久久久久久久久国产字幕| 99久久免费看精品国产一区| 国产 日韩 欧美 精品| 国产日产精品一区二区三区| 精品在线视频免费| 日本综合在线观看| 日本人dh亚洲人ⅹxx| 性の欲びの女javhd| 艳妇乳肉豪妇荡乳av无码福利| 国产精品久久久国产盗摄| 国产一区二区三区视频免费观看| 男女做暖暖视频| 亚洲二区在线播放| 波多野结衣视频网址| 久久久国产精华液| 在线视频观看一区二区| 国产91久久久| 日本午夜小视频| 亚洲网站在线免费观看| 国产五月天婷婷| 少妇人妻偷人精品一区二区| 亚洲天堂av线| 久久久国产精品黄毛片| 五月婷婷六月香| 国产福利影院在线观看| 人妻与黑人一区二区三区| 亚洲一二三四五| 精品人妻一区二区三区含羞草| 天天综合天天添夜夜添狠狠添| 91久久免费视频| 欧美国产在线一区| 91极品尤物在线播放国产| 久久久高清视频| 亚洲精品18在线观看| 精品国产九九九| 中文字幕人妻互换av久久| 国产一级视频在线观看| 在线不卡免费视频| 男人天堂视频网| 综合久久中文字幕| 麻豆疯狂做受xxxx高潮视频| 亚洲天堂网站在线| 人妻少妇精品无码专区| av2014天堂网| 天天射,天天干| 精品人妻一区二区三区四区 | 久久国产精品系列| 亚洲天堂网站在线| 日本少妇激三级做爰在线| 国产成人免费看一级大黄| 天天射,天天干| 久久久久久久久久一级| av网站免费在线看| 亚洲成a人片在线| 久久婷婷综合国产| 不卡的一区二区| 中日韩av在线播放| 日韩成人av免费| 久久99999| 最新国产中文字幕| 久草视频在线观| 91丨九色丨蝌蚪| 在线播放av网址| 日韩影院一区二区| 久草视频免费播放| 国产精品欧美亚洲| 99视频在线看| 亚洲久久久久久| 亚洲第一网站在线观看| 日韩精品久久久久久久酒店| 精品一区二区三孕妇视频| 国产精品久久久毛片| www.com.av| 99久久99久久精品国产| 亚洲码无人客一区二区三区| 天天射,天天干| 手机在线中文字幕| 日本一区二区三区网站| 久久香蕉精品视频| 狠狠综合久久av一区二区| 波多野结衣一区二区三区四区| 亚洲欧美综合在线观看| 亚洲精品久久久久久| 手机在线观看毛片| 少妇毛片一区二区三区| 欧美视频亚洲图片| 欧美激情黑白配| 欧美wwwwwww| 免费看91的网站| 精品黑人一区二区三区在线观看| 国产一区二区在线不卡| 国产女人18毛片水18精| 国产又粗又长免费视频| 国产一区二区网站| 精品人妻少妇AV无码专区| 精品人妻一区二区三区免费| 国产情侣av在线| 狠狠人妻久久久久久综合蜜桃 | 手机看片久久久| 午夜影院免费体验区| 香蕉在线观看视频| 中文字幕人妻熟女在线| 136福利视频导航| www日韩在线| 国精品无码人妻一区二区三区| 精品夜夜澡人妻无码av| 欧美亚洲天堂网| 日本视频免费在线| 亚洲AV无码成人精品区东京热| 中文字幕a在线观看| 91资源在线视频| 国产香蕉在线观看| 免费在线观看亚洲| 亚洲av人人澡人人爽人人夜夜| 中文字幕av片| 国产成人三级一区二区在线观看一 | 国产精品情侣呻吟对白视频| 久久久久久久伊人| 无码aⅴ精品一区二区三区| 亚洲综合婷婷久久| 国产亚洲无码精品| 美国精品一区二区| 麻豆91精品91久久久| 日本黄大片一区二区三区| 伊人精品在线视频| 国产99对白在线播放| 欧美美女一级片| 中文字幕一二三四区| 国产露脸无套对白在线播放| 日本网站在线免费观看| 亚洲国产精品国自产拍久久| 国产一线在线观看| 五月天激情开心网| 国产精品99久久久久久成人| 人人妻人人澡人人爽| 91九色丨porny丨肉丝| 老鸭窝一区二区| 亚洲综合网在线| 欧美 日韩 综合| 99国产精品免费视频| 毛片久久久久久| 一级全黄少妇性色生活片| 看欧美ab黄色大片视频免费| 中文字幕视频在线免费观看| 黄色工厂在线观看| 亚洲日本久久久| 欧美日韩国产精品综合| a一级免费视频| 天天综合网天天综合| 国产欧美激情视频| 中国一级特黄视频| 农村老熟妇乱子伦视频| 国产精品人人爽| 五月婷婷一区二区| 精品国产aⅴ一区二区三区东京热 精品国产99久久久久久宅男i | 日韩熟女精品一区二区三区| 国产99久久久| 亚洲va久久久噜噜噜无码久久| 国精产品一区一区| 亚洲一区二区三区观看| 人妻体内射精一区二区| 国产欧美一区二区三区在线观看视频| 真实乱视频国产免费观看| 浓精h攵女乱爱av| 高潮一区二区三区乱码| 中文字幕五月天| 日韩人妻精品中文字幕| 久久99久久久| 国产麻豆91视频| 99久久国产免费| 伊人久久成人网| 熟妇人妻系列aⅴ无码专区友真希 熟妇人妻无乱码中文字幕真矢织江 | 毛片网站免费观看| 国产日韩精品suv| 超碰免费在线97|