極簡(jiǎn)版單頁(yè)設(shè)置框架 – wordpress開(kāi)發(fā)

    這是一個(gè)功能簡(jiǎn)潔小巧的設(shè)置框架,適合哪些輕量化開(kāi)發(fā)的wordpress主題或是插件

    在制作wordpress主題時(shí)總需要在后臺(tái)設(shè)置一些主題選項(xiàng)留給使用者來(lái)自定義,有時(shí)候我們也需要在后臺(tái)增加一些簡(jiǎn)單功能設(shè)置,這時(shí)候我們應(yīng)該如何做呢?

    一般來(lái)說(shuō)有兩種方案:

    1. 使用WordPress的Settings API。要求的編程能力強(qiáng),熟悉php;
    2. 使用現(xiàn)成的主題選項(xiàng)框架:如Options Framework Theme。要求起碼能懂PHP代碼,要熟悉和理解使用的主題框架。

    我打算為主題添加一個(gè)全站的SEO功能,需要設(shè)置一些簡(jiǎn)單的選項(xiàng),這兩種方案在我看來(lái)都不太合適的。第一種太難了,PHP小白的我果斷放棄了;第二種還可以考慮,但是我需要的功能只是幾個(gè)文本框和選擇框就能實(shí)現(xiàn),用主題框架就顯得塊頭太大,臃腫,殺雞用牛刀了,而且我還不熟悉這個(gè)框架,還需要花時(shí)間學(xué)習(xí)和實(shí)踐,所以并非一個(gè)好選擇。

    最理想就是有一個(gè)簡(jiǎn)單的主題后臺(tái)選項(xiàng)的模板,有幾個(gè)核心的功能選項(xiàng),如:文本框,多行文本框、選擇框、下拉框、單選按鈕,我可以直接修改套用,不需要熟悉PHP,也不需要看使用說(shuō)明。那么有沒(méi)有這種簡(jiǎn)單的后臺(tái)選項(xiàng)模板呢?我還真找到的一個(gè):

    我自己修改了一下代碼,前臺(tái)文字改成了中文 》更方便理解,增加了一個(gè)調(diào)用函數(shù) 》更方便options數(shù)據(jù)的調(diào)用,代碼在文章末尾可以下載。后臺(tái)實(shí)現(xiàn)的效果如下:

    極簡(jiǎn)版單頁(yè)設(shè)置框架 - wordpress開(kāi)發(fā)

    如何使用這個(gè)主題后臺(tái)選項(xiàng)模板

    1、把theme-options.php文件放到主題根目錄;

    2、在主題functions.php文件添加:

    require_once ( get_template_directory() . '/theme-options.php' );

    如果是子主題則改成:

    require_once ( get_stylesheet_directory() . '/theme-options.php' );

    3、根據(jù)的自己需求修改模板中的文本,參數(shù);

    4、主題調(diào)用參數(shù):

    <?php echo qw_get_option('sometext');?>

    模板中一些代碼說(shuō)明

    add_action( 'admin_init', 'theme_options_init' );
    add_action( 'admin_menu', 'theme_options_add_page' );

    動(dòng)作鉤子

    function theme_options_init(){
    register_setting( 'sample_options', 'sample_theme_options', 'theme_options_validate' );}

    register_setting注冊(cè)wp_options字段函數(shù),sample_options為注冊(cè)字段所屬的分組(group),sample_theme_options為注冊(cè)字段名稱(chēng)。在數(shù)據(jù)庫(kù)wp_options表中可以看到:

    極簡(jiǎn)版單頁(yè)設(shè)置框架 - wordpress開(kāi)發(fā)

    sample_optionssample_theme_options都可以修改成你自己模板的名稱(chēng),如:名為是sky的模板,可以改成:

    function theme_options_init(){
    register_setting( 'sky_options', 'sky_theme_options', 'theme_options_validate' );}

    注意:如果參數(shù)改名,后面的要一并更改過(guò)來(lái)!

    function theme_options_add_page() {
    add_theme_page( '主題選項(xiàng)', '主題選項(xiàng)', 'edit_theme_options', 'theme_options', 'theme_options_do_page' );}

    add_theme_page函數(shù)在后臺(tái)“外觀”菜單項(xiàng)下面新建一個(gè)菜單項(xiàng):

    add_theme_page( $page_title, $menu_title, $capability, $menu_slug, $function);//page_titile-title標(biāo)簽的內(nèi)容//menu_title-顯示在后臺(tái)左邊菜單的標(biāo)題//capability-訪問(wèn)這個(gè)頁(yè)面需要的權(quán)限//menu_slug-別名,打開(kāi)訪問(wèn)的網(wǎng)址,需要獨(dú)一無(wú)二//function-執(zhí)行的函數(shù)
    function theme_options_do_page() {}

    后臺(tái)選項(xiàng)設(shè)置表單,分別是:文本框、選擇框、下拉框、單選按鈕、多行文本框,大家可以根據(jù)自己的需求增減,修改相關(guān)參數(shù)名稱(chēng),修改文本名稱(chēng)。

    function theme_options_validate( $input ) {}

    表單輸入過(guò)濾函數(shù),確保輸入數(shù)據(jù)的安全合法,這里的參數(shù)修改要對(duì)應(yīng)上面參數(shù)來(lái)修改。

    if ( ! function_exists( 'qw_get_option' ) ) :function qw_get_option( $name, $default = false ) {
     $options = get_option( 'sample_theme_options' );if ( isset( $options[$name] ) ) {return $options[$name];}return $default;}
    endif;

    在數(shù)據(jù)庫(kù)中,sample_theme_options字段保存的數(shù)據(jù)是以數(shù)組的形式儲(chǔ)存,這是我們調(diào)用數(shù)據(jù)的方法:

    <?php
     $options = get_option('sample_theme_options');
     echo $options['sometext'];
    ?>

    qw_get_option函數(shù)是我額外添加的函數(shù)(源代碼里并沒(méi)有),主要為了更容易主題調(diào)用參數(shù),調(diào)用方法:

    <?php echo qw_get_option('sometext');?>

    經(jīng)驗(yàn):

    我使用這款框架開(kāi)發(fā)了一款插件,其中比較突出的內(nèi)容在這篇文章中有講解:

    使用極簡(jiǎn)版單頁(yè)設(shè)置框架開(kāi)發(fā)插件 – wordpress文檔

    下載權(quán)限
    查看
    • 免費(fèi)下載
      評(píng)論并刷新后下載
      登錄后下載
    • {{attr.name}}:
    您當(dāng)前的等級(jí)為
    登錄后免費(fèi)下載登錄 小黑屋反思中,不準(zhǔn)下載! 評(píng)論后刷新頁(yè)面下載評(píng)論 支付以后下載 請(qǐng)先登錄 您今天的下載次數(shù)(次)用完了,請(qǐng)明天再來(lái) 支付積分以后下載立即支付 支付以后下載立即支付 您當(dāng)前的用戶組不允許下載升級(jí)會(huì)員
    您已獲得下載權(quán)限 您可以每天下載資源次,今日剩余

    給TA贊賞
    共{{data.count}}人
    人已贊賞
    ??
    Npcink上的部份代碼及教程來(lái)源于互聯(lián)網(wǎng),僅供網(wǎng)友學(xué)習(xí)交流,若您喜歡本文可附上原文鏈接隨意轉(zhuǎn)載。
    無(wú)意侵害您的權(quán)益,請(qǐng)發(fā)送郵件至 1355471563#qq.com 或點(diǎn)擊右側(cè) 私信:Muze 反饋,我們將盡快處理。
    ?
    購(gòu)物車(chē)
    優(yōu)惠劵
    搜索
    主站蜘蛛池模板: 国产精品日本一区二区在线播放| 国产内射999视频一区| 中文字幕无码一区二区三区本日| 国产高清一区二区三区四区| 国产精品美女一区二区视频 | 国产婷婷色一区二区三区深爱网| 成人毛片一区二区| 中文字幕日韩丝袜一区| 国产综合精品一区二区三区| 日韩精品一区二区三区影院| 欧洲精品免费一区二区三区| 亚洲福利一区二区三区| 久久综合精品不卡一区二区| 精品人无码一区二区三区| 狠狠做深爱婷婷久久综合一区| 竹菊影视欧美日韩一区二区三区四区五区| 国产一区二区精品尤物| 波多野结衣一区在线| 国产一区二区三区免费看| 国产女人乱人伦精品一区二区| 国产日韩精品一区二区在线观看| 亚洲大尺度无码无码专线一区| 精品人妻系列无码一区二区三区 | 国产suv精品一区二区33| 中文字幕一区二区三区有限公司 | 国产一区二区视频在线观看| 四虎一区二区成人免费影院网址| 国产一区二区精品在线观看| 精品一区二区91| 无码国产亚洲日韩国精品视频一区二区三区| 亚洲一区二区影视| 亚洲国产精品一区二区久久| 久久久综合亚洲色一区二区三区 | 日韩免费无码一区二区视频| 亚洲AV香蕉一区区二区三区| 在线成人综合色一区| 四虎一区二区成人免费影院网址| www亚洲精品少妇裸乳一区二区| 精品视频一区二区| 国产免费一区二区三区不卡| 亚洲高清成人一区二区三区|