簡單製作 K2 SBM 的 Module

最近看到很多人都有用香腸教學的 如何讓WordPress有隨機連結功能?(Widget_Rand_Link)
但是因為我用了 K2 , K2 裡面的Widget manager 不是用原先Wordpress內建的,而是自己又做了一套 SBM
所以在使用一些像是Widget_Rand_Link這種會直接幫你建立一個Widget的外掛時,反而有時候會衝到~
昨天自己撥了點小時間研究了一下 k2 的 module,決定來看看能不能自己做一個~
其實很簡單 :P

簡單了解 製作 Module 的過程
平常像Widget_Rand_Link這種外掛在啟用後會自動用wordpress內建的 add_action() 這個function來新增一個像功能~
但是這東西對k2來說並不用那麼麻煩,K2 自己本身的module比較簡單,他其實就跟wordpress的一些預設舊有的widget的啟用方式一樣,直接寫好一個 Widget 的 function ,接著就用 register_sidebar_widget() 這個wordpress的function 去呼叫建立,以 Widget_Rand_Link 來說的話,大家可以到香腸那篇文章把這個外掛的下載來看看他的 source,來比照一下我下面修改後的

  1. <?php
  2.     function widget_rand_link($args) {
  3.     extract($args);
  4.     echo $before_widget;
  5.     echo $before_title . '友情連結' . $after_title;
  6.     ?>
  7.         <ul>
  8.             <?php get_links(-1, '<li>', '</li>',0,0, 'rand', 0, 0, 10, 0); ?> 
  9.         </ul>
  10.     <?php echo $after_widget;
  11.     }
  12.     register_sidebar_widget('Widget_Rand_Link', 'widget_rand_link');
  13. ?>

有沒發現什麼? 他是不需要 add_action 的,接著只要把存成 php 檔
然後放在 /k2/app/modules 裡面
他就會在 sbm 頁面自動搜尋目前 module 資料夾裡可用的模組
這篇文章可以運用在修改一些平常沒辦法啟動的 widget 形式的外掛成K2的module外~
當然~懂些網頁設計的人就可以客製化自己的module給別人使用~ 還滿方便的 :)
↑ 這才是主旨阿XD~

標籤: ,

關於作者

ajneok

搜尋這個作者的文章ajneok

作者網頁連結http://blog.ajneok.org

01

10 2008

23 Comments Add Yours ↓

The upper is the most recent comment

  1. 1

    那我們就等AJ你哪天開發一套新的BLOG系統好了,一鍵裝到好,不用鍵盤,只要滑鼠就可以完成 :P

  2. 2

    @香腸:
    @@』~ 我開發一套新的BLOG XD? 我還不夠行啦XD~ 你太看得起我了 :P

  3. 3

    期待 AJ BLOG 系統出現

  4. 4

    @阿源:
    安捏!你比我強捏~ 你去寫吧~ 我會用的XD

  5. 5

    那blog名稱也是由你們2個所命名嗎?
    ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

       香腸芭樂 blog

    ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

  6. Mr.人 #
    6

    請問一下喔,在換頁那個導覽列 超帥的 那是怎麼用的QQ?

  7. 7

    @Mr.人:
    Hi , 那是 k2 的功能唷 :P ~

  8. Mr.人 #
    8

    呵呵 我裝了K2 超棒的^^

    不過用K2 內建的側邊攔管理 好像有點問題XD

    像是投票 原本可以在側邊用個投票(WordPress內建),不過
    換用K2 的側邊蘭管理 投票的那個側邊蘭 就消失了XD

  9. 9

    hmm… k2 sbm 沒有延用任何wordpress module setting :P

  10. Mr.人 #
    10

    所以說…

    我得用之前的wordpress 的模組囉XD

    會不會影響到K2??

  11. 11

    @Mr.人:
    你可以把兩種視為不同的東西,他們』照理說』不會互相干擾 :)
    (人生總是會有點意外的驚喜嘛XD)

  12. Mr.人 #
    12

    呵呵,謝謝你 K2 就你了!

  13. Mr人~ #
    13

    請問一下^^
    在K2設定裡~

    —風格—
    不需要編輯核心檔案 , K2 可高度進行客製化

    這個是要怎麼用QQ?

  14. ajneok #
    14

    @Mr人:
    這句話的意思~ 就要請到同為K2同好的花水木的文章看看 :D ~
    [Wordpress] K2佈景修改秘笈:新增CSS、改寬度
    他強調的就是你要把K2客製化其實是很容易的 :P

  15. 15

    hi:我的網頁改成950了 可是我想換掉頁首圖片,
    他只能接受 780 x 200 ,我傳950×200的 他會一直要我截切掉,

    請問我要改哪裏呢/??

    謝謝~~

  16. 16

    還有另一個問題 ~ 我要把文章 上方 的 前一頁後一頁字體 改大一點??

  17. ajneok #
    17

    @milo:
    圖片的部分我忘了改哪裡了@_@~
    你說的前一頁後一頁是指哪邊XD? 可以給一下圖嗎XD?
    下禮拜期中考了可能會晚一點回~ Sorry囉XD

  18. 18

    圖在這兒http://picasaweb.google.com/lh/photo/X9-iDBi4VgjVRRKigbQN1g

    THX~

  19. 19

    @milo:
    css 裡面有 #rollingarchives 跟 #rollnavigation
    應該是改這邊,但是大小要調好,不然會亂跳~

  20. 20

    ok ` 謝謝~~~

  21. 21

    亂芭樂您好
    我也遇到如同milo一樣的問題
    我把網頁也改成950
    要更換頁首圖片時,也是只能接受780×200
    上傳剛好780*200的圖片會怪怪的 圖會重複出現填滿900
    也不知道要改哪邊可以讓它接受950*200的圖片…
    不知道怎麼辦才好

  22. 22

    耶~~~自問自答= =
    我自己找到解決方式了
    答案就在themes/k2/app/classes/header.php中
    找到應該是第27行左右的
    function get_header_width() {
    $default_widths = array( 1 => 560, 780, 950 );
    ^^^^^^^^^^^^^^
    這三個數據應該是當使用者選擇一欄、兩欄、三欄時,所抓取的頁首寬度
    因為我是用兩欄的,所以我把中間的780改成950
    然後再去k2頁首自訂圖片的地方看
    就變成「圖片剛好為 950 x 200 像素將會被使用。」啦~~
    登登!真開心

  23. 23

    @阿摩西斯:
    對對對 :D 就是那樣~ :D
    感謝回答XD~
    那個地方只改過一次就沒印象了,好險你有找到XD~



Your Comment