第零節(jié):Vue3 開發(fā)WordPress設(shè)置選項(xiàng) - 效果預(yù)覽與使用場景

    開發(fā) WordPress 的設(shè)置功能時(shí),只需要幾個(gè)簡單的設(shè)置選項(xiàng),用原生Setting API太麻煩,用設(shè)置框架又太重,也許這個(gè)對前端友好的不輕不重的方法會適合你。

    開發(fā) WordPress 的設(shè)置功能時(shí),只需要幾個(gè)簡單的設(shè)置選項(xiàng),用原生 Setting API太麻煩,用設(shè)置框架又太重,也許這個(gè)對前端友好的不輕不重的方法會適合你。

    問題

    Npcink 想要在 WordPress 平臺開發(fā)一款支持微信和支付寶的退款插件,他只需要6個(gè)輸入選項(xiàng)和一個(gè)篩選選項(xiàng)。

    • 3個(gè)輸入框用來填支付寶配置
    • 3個(gè)輸入框用來填微信配置
    • 一個(gè)下列篩選用來選擇有退款權(quán)限的客服

    Setting API

    首先,他想到使用 WordPress 原生的 setting APi 來實(shí)現(xiàn),于是,他寫下了 PHP 與 HTML 混合的代碼,其中一段類似這樣

    <tr>
     <th scope="row"><label for="<?php echo $option_name_1; ?>">微信支付商戶號</label></th>
     <td><input type="text" id="<?php echo $option_name_1; ?>" name="<?php echo $option_name_1; ?>" value="<?php echo esc_attr( $value_1 ); ?>"></td>
    </tr>

    啊,頭皮發(fā)麻,他本就不夠用的頭發(fā)又稀疏了不少。而且,自己還要負(fù)責(zé)寫功能、寫驗(yàn)證、寫外觀,碰到了不同類型的輸入還得重來一次。

    于是,當(dāng)他聰明的用循環(huán)寫完了兩個(gè)tab選項(xiàng)下的三個(gè)輸入框后,隨著需求,他需要再添加一個(gè)下拉篩選框時(shí),他陷入了深深的思考中。

    本來是為了加快開發(fā)速度,想著選項(xiàng)比較少,就用原生設(shè)置來做的,沒想到吃力不討好,加個(gè)小需求就難住了。

    設(shè)置框架

    還好,開源世界中,已有大佬開發(fā)了框架,直接拿來用就行。例如有以下幾個(gè)常用選擇

    1. Kirk3(小部件設(shè)置 - 主題常用)
    2. options framework(小插件,小主題在用)
    3. OptionTree - WordPress 的主題選項(xiàng) UI Builder — SitePoint
    4. CODESTAR 框架(主流主題在用)
    5. CMB2
    6. ACF

    只要理解他們的文檔,遵循他們的方法,就能使用這些框架提供的強(qiáng)大能力了,開發(fā)插件還不是手到擒來。

    但是我只想添加6個(gè)輸入框和一個(gè)下列篩選框啊,其他功能我也用不上。

    我拿著倚天劍不去稱霸武林,去串肉串搞燒烤嘛,

    ……

    第三種選擇

    WordPress 現(xiàn)在已經(jīng)支持 REST API了,那我自己弄套前端,把數(shù)據(jù)通過 REST API提供給 WordPress 就好啦。

    之前,Npcink 就已經(jīng)使用 vue3 開發(fā)了一些簡單的SPA單頁,技術(shù)還是夠用的。

    效果預(yù)覽

    先看下最終效果

    可以理解為一個(gè)簡單的前后端分離的小項(xiàng)目,前端使用 vue3 和 Element Plus 給出,通過 Axios 與后端的 WordPress 的 REST API 進(jìn)行通信,再讓后端通過get_option函數(shù)拿到設(shè)置選項(xiàng),進(jìn)行功能設(shè)置。

    技術(shù)流程

    第零節(jié):Vue3 開發(fā)WordPress設(shè)置選項(xiàng) - 效果預(yù)覽與使用場景

    使用場景

    適合那些有一些設(shè)置,但又不多的主題或插件,

    • 用原生 Setting API 太麻煩,
    • 用設(shè)置框架又多余

    當(dāng)然,如果你是前端寫后端的,就更適合了,甚至你可以將所有選項(xiàng)都通過此方法來實(shí)現(xiàn),說不定還更順手。

    解決痛點(diǎn)

    • 前后端分離,展示與功能分開,方便維護(hù)
    • 更適合前端的設(shè)置方法
    • 后端提供兩個(gè)接口,前端一頓調(diào)用就行
    教程

    已寫完哪本書 - WordPress小功能

    2023-4-15 22:11:07

    教程

    第一節(jié):Vue3 開發(fā)WordPress設(shè)置選項(xiàng) - PHP傳數(shù)據(jù)給JS

    2023-6-24 22:05:00

    ??
    Npcink上的部份代碼及教程來源于互聯(lián)網(wǎng),僅供網(wǎng)友學(xué)習(xí)交流,若您喜歡本文可附上原文鏈接隨意轉(zhuǎn)載。
    無意侵害您的權(quán)益,請發(fā)送郵件至 1355471563#qq.com 或點(diǎn)擊右側(cè) 私信:Muze 反饋,我們將盡快處理。
    0 條回復(fù) A文章作者 M管理員
      暫無討論,說說你的看法吧
    ?
    個(gè)人中心
    購物車
    優(yōu)惠劵
    今日簽到
    有新私信 私信列表
    搜索
    主站蜘蛛池模板: 99精品国产高清一区二区三区| 日韩在线一区二区三区免费视频| 精品一区二区三区在线观看l | 久久精品道一区二区三区| 免费看一区二区三区四区| 国产一区二区三区乱码在线观看| 国产精品无码AV一区二区三区| 福利一区二区三区视频午夜观看| 亚洲国产日韩在线一区| 精品一区二区无码AV| 人妻无码一区二区视频| 国产在线一区视频| 国产综合无码一区二区色蜜蜜| 成人中文字幕一区二区三区| 国产午夜福利精品一区二区三区| V一区无码内射国产| 日韩在线视频一区| 成人丝袜激情一区二区| 亚洲精品日韩一区二区小说| 日韩一区二区三区无码影院| 国产成人久久精品一区二区三区| 成人午夜视频精品一区| 国产一区二区高清在线播放| 变态拳头交视频一区二区| 99精品久久精品一区二区| 波多野结衣高清一区二区三区 | 精品一区二区三区无码免费视频| 91麻豆精品国产自产在线观看一区 | 色偷偷av一区二区三区| 久久久人妻精品无码一区| 日韩A无码AV一区二区三区| 日韩精品一区二区三区不卡| 动漫精品一区二区三区3d| 午夜视频久久久久一区 | 国产午夜福利精品一区二区三区 | 国产AV午夜精品一区二区三区 | 高清无码一区二区在线观看吞精| 国产成人精品无码一区二区老年人| 国产精品一区二区无线| 国产一区二区在线|播放| 亚州国产AV一区二区三区伊在|