2012-03-11 102 views
6

這是我第一次嘗試編寫自定義wordpress主題,而且我幾乎在那裏。與任何東西都有一些錯誤,但我已經嘗試了幾個不同的選項來修復它們,但沒有成功。如何修復wordpress自定義主題以使用插件?

鏈接是www.studiosimplicit.com/wp。

我的第一個問題是使用活動頁面上的nivo滑塊(www.studiosimplicit.com/wp/events)。最初,我對插件本身有問題,圖片堆疊在一起。爲了糾正這種情況,我手動輸入代碼來調用nivo .js文件,而這似乎解決了這個問題。但現在加載圖像在那裏,但圖像不加載。

我檢查了圖像的URL,這不是問題。我還啓用了「後縮略圖」功能(正如nivoslider網站上的建議,作爲我的問題的常見解決方案),但似乎沒有修復它。當我切換到默認主題時,它沒有任何價值,滑塊工作正常。這是當我激活我的自定義主題,它打破了。

我的第二個問題是應該設置一個全屏幕背景圖像的插件,自動調整大小以適合瀏覽器寬度。再說一次,當我切換到默認主題時,插件工作,但當切換到我的自定義主題時,插件會中斷。

請幫忙!

回答

18

通過它的聲音,您的自定義主題缺少允許插件更改/輸出其代碼的常見鉤子。

舉一個簡單的例子,每個主題應該在輸出頁面的<head>部分的某個地方調用wp_head()。這允許一個插件「掛鉤」到你的<head>中,例如,輸出代碼來加載它的Javascript。

這是一個真實的例子。 WordPress的Twentyeleven主題有這個在其header.php文件(即輸出任何頁面的<head>節主題的傳統的一部分):

... other <head> stuff 
    wp_head(); 
?> 
</head> 

的WP NIVO滑塊使用此代碼時,它調用wp_enqueue_script,例如,其wp-nivo-slider.php文件。在幕後,wp_enqueue_script使用在Twentyeleven主題輸出請求的Javascript包括在<head>部分wp_head()鉤(通過在默認情況下結束了在wp_print_head_scripts稍微迂迴路線。)

所以,基本上,如果一個插件作品提供了一個主題,但不適用於您的自定義主題,您的任務是查找插件嘗試使用的主題中缺少的鉤子。

如果您檢查WordPress Theme Development documentation,您會在「插件API掛鉤」一節中找到主題應包含的掛鉤列表。這些,具體爲:

  • wp_head
  • wp_footer
  • wp_meta
  • comment_form

大多數插件的重要的將是wp_headwp_footer。這是大多數Javascript被包含在其中的地方,無論是在頭部還是腳部(在結束<body>標記之前)。

大多數插件(如Javascript滑塊,圖像庫等)都會簡單地添加一個或兩個腳本<head>或頁腳部分,並且可能還包括CSS文件以設置其內容的樣式,這同樣在<head>部分中,所以這兩者通常是他們需要的唯一鉤子。

所以,我最初的建議是,以確保您的自定義主題包括在其<head>節結束時以wp_head()通話(複製從你就是我的工作主題代碼),並且還wp_footer()一個電話,剛在結束</body>標記之前。很可能會得到大多數基於Javascript的插件正常工作。

+0

太棒了!只要我插入這些鉤子,一切都開始工作。對於我來說,在wordpress主題方面絕對是一種學習體驗。它有助於我有一個簡單的網站轉換爲wordpress。非常詳細的解釋。我感謝你的時間和耐心。謝謝! – giwook 2012-03-12 01:56:27

1

只是爲了記錄:我有一個類似的問題,我曾與這一個更換線

<?php echo get_the_content() ?> 

<?php echo the_content() ?> 

但我也必須包括wp_head和wp_foot作爲解釋馬特。

0

只包括

<?php include_once(ABSPATH . 'wp-admin/includes/plugin.php'); ?> 
<?php wp_head()?> 

頭之前和之後,它肯定會工作。