2013-12-24 23 views
0

如何從主題檢查buddypress?我發現BP的這個頁面Plugin development從主題檢查buddypress

但是如果我從主題掛鉤,這個動作永遠不會被加載。爲什麼它不起作用?

P.S.我需要從一個主題調用一些BP的功能,如:在特定位置顯示「BP的活動流」。

我指的是「永遠不會被載入」什麼是:

(文件主題中的子目錄,並列入的functions.php)

function sometestfunction() { 
    exit(); 
} 

add_action ('bp_include', 'sometestfunction'); 

這必須WordPress的顯示空白頁,贏得'?

回答

2

如果簡單的檢查功能 'bp_is_active' 的定義:

if (function_exists('bp_is_active')) { 
    // do something here... 
} 

看到shanebp答案和評論。

1

這個動作永遠不會被載入

你的意思是永遠不會被調用? 不確定這是爲什麼,因爲你沒有提供任何代碼。 但它意味着加載插件。

如果安裝了BP,則會在解析主題模板時加載它。

你有沒有試過在主題中調用BP函數? 我從來沒有遇到過這樣的問題。

把你的功能(S)在這些地方之一:

  • 插件
  • 主題/ functions.php中
  • BP-custom.php

http://codex.buddypress.org/plugindev/bp-custom-php/

如果您的代碼將用於您無法控制的安裝,則應檢查BuddyPress組件:

if(bp_is_active('activity') { 

http://codex.buddypress.org/developer/bp-is-active/

+0

已更新的問題。爲什麼不直接調用BP的功能?!因爲如果活動主題和buddypress不是,這會產生錯誤(調用未定義的函數...) –

+0

您的'sometestfunction'將在bp-custom.php中工作。它不會在theme/functions.php中工作,因爲它太遲了,bp_include已經運行。如果你調用BP函數並得到'未定義'錯誤,那麼你做錯了,應該提供代碼。 – shanebp

+0

所以如果theme/functions.php太晚了,一個簡單的'function_exists('bp_is_active')'會工作......正確的!! –