《轉》wordpress小工具製作前台後台全解析

2021-09-08 09:09:24 字數 2574 閱讀 9380

wordpress主題製作中對邊欄的處理一直是我們比較煩惱的,我們希望邊欄的變化更多更複雜,今天我們就來具體講解下wordpress邊欄小工具的製作。

有些相當簡單的主題你會發現後台小工具功能竟然沒有開啟,邊欄自然無法自己定義了。那麼怎麼讓自己的主題支援小工具功能,前台又如何呼叫後台拖拽的小工具呢?如何讓你的小工具多幾個,可以自由安排小工具的位置呢?

在新製作的主題檔案functions.php中加入下面這段**(注意,下文的**均加入到該檔案中,後文不提):

if(function_exists('register_sidebar'))

這樣,你進入後台小工具頁面的時候就會看到乙個名稱叫「首頁邊欄」的小工具掛件區,在這個區域內你可以放置多個小工具,同時在前台可以呼叫這個小工具區。(說明:前台呼叫的只能是工具區,而不是某個特定的小工具。)

這些欄位我想你應該很容易從其英文名稱中得知其用途,name指小工具掛件區的名稱,id是等下在前台呼叫時要用到的掛件區標誌,description是該掛件區的描述,後台中可以看到。before_widget/after_widget是前台顯示每個小工具時放置在每乙個小工具前後的html**,before_title/after_title則是小工具標題前後的html**。

到這裡,在後台拖拽幾個小工具到這個掛件區吧。

我們用下面的**再前台呼叫後台設定好的掛件區:

<?php if(is_active_sidebar('home-sidebar'))dynamic_sidebar('home-sidebar'); ?>

前文已經說到,我們將前文定義的掛件區id作為引數給dynamic_sidebar(),如果在前面你定義了多個id不同的掛件區,那麼可以在前台修改這些引數,從而呼叫不同的掛件區,例如在首頁呼叫id=home-sidebar的掛件區,在內容頁呼叫id=post-sidebar掛件區。當然,為了讓主題更完整,你應該考慮當掛件區沒有放小工具的時候的情況,只需要加入else的情況即可。

通過上文,你的主題已經可以很完美的實現掛件的呼叫、顯示,在不同的位置,不同的頁面顯示不同的掛件了。

我們將所有**先列出來,放置到functions.php中,讀者可以在讀**過程中自然領會怎麼設計自己的小工具。

function update($new_instance,$old_instance)

從上面的**中你大致能分析出小工具製作的所有要素,接下來詳細講解下。(上面的這個掛件需要你安裝外掛程式wp-recentcomments,你將<?php wp_recentcomments(); ?>

修改為你自己的內容,則前台顯示為你修改的內容。)

構造乙個小工具用到上面的類構造class recentcommentswidget extends wp_widget{},類名可自定。

在該類中,總共有4個函式:recentcommentswidget()、form($instance)、update($new_instance,$old_instance)、widget($args,$instance)。

recentcommentswidget()

form($instance)

在後台將該小工具拖拽到掛件區展開後你會看到該函式中規定的內容。我的這個小工具只是顯示乙個標題設定框和一段文字。

$instance = wp_parse_args((array)$instance,array('title'=>'隨機文章','showposts'=>10,'cat'=>0,'class'=>'randomposts'));

$title = htmlspecialchars($instance['title']);

$showposts = htmlspecialchars($instance['showposts']);

$cat = htmlspecialchars($instance['cat']);

$class = htmlspecialchars($instance['class']);

如上,可以增加標題、顯示數量、顯示那些分類下的、顯示的時候用什麼樣式名這些文字框,當然你可以增加自己的內容。總之你要理解這個函式是後台小工具展開時看到的內容即可。

update($new_instance,$old_instance)

更新form()設定的引數值,小工具展開後右下角有個儲存按鈕,就是用這個函式進行儲存啦。照葫蘆畫瓢修改該函式吧。

widget($args,$instance)

前台顯示,前台怎麼顯示form()中設定的這些值呢?就是用這個函式來控制啦。照葫蘆畫瓢,修改那幾個echo 的內容就可以了,甚至你可以讓乙個小工具顯示一句話,在這裡自己編寫就可以了。

雖然上面的過程讓你已經了解小工具的前後臺,但你會發現即使這樣做了卻得不到任何效果,因為你的小工具還沒有註冊呢。

function recentcommentsinit()

add_action('widgets_init','recentcommentsinit');

修改上面這幾個引數為你自己的類和函式名,趕快到後台看看吧,是不是已經顯示了該小工具,並可以拖拽了?自己慢慢消化,可以製作自己完美的邊欄掛件啦。

wordpress小工具製作

wordpress 使用側邊欄的小工具,很方便調整頁面結構 小工具的製作過程 1 在自己的主題檔案中新建乙個資料夾 如widget 在資料夾中建立乙個php awp posts category.php 小工具是乙個類,想側邊欄一樣,還得使用 註冊,他才可以再後台使用,基本的 一層不變 class ...

wordpress 預設小工具修改表

wordpress 預設的邊欄小工具 寫在default widgets.php wp includes default widgets.php 此檔案中每個類對應乙個小工具,如修改 rss 樣式 來自任何 rss 或 atom feed 的條目 只要找到 wp widget rss 這一類修改即可...

WordPress小工具最近評論顯示評論內容

wordpress的小工具用起來非常方便,不過其內容無法修改。如wordpress小工具的最近評論,經常用於側邊欄預設顯示 評論者與文章,不會顯示評論者的評論內容。修改步驟 備份 wp includes default widgets.php,找到 wp includes default widge...