2015-09-30 39 views
0

我試圖深入研究WordPress開發,我想知道當我們做var_dump($post->post_id)時,它給出了該函數具有的對象列表。我說對象的原因是,我不知道它們是什麼。雖然它爲您提供了一個全面的屬性列表,您可以訪問WordPress代碼page狀態。我的問題是我如何可以訪問其他的功能和它的屬性,如:在WordPress功能上使用var_dump

`get_the_category();`, I might be naive to get a list of properties like 
$category = get_the_category(); 
foreach ($category as $cat) { 
echo $cat; 
} 

如何訪問一個WordPress函數的性質,一個例子是像$category->ID()或者其他財產,其他的例子可能包括

 <?php 
     if (have_posts()) { 
      while (have_posts()) { 
      the_post(); 
     ?> 
     <?php 
       $test = get_cat_ID($post->ID); 
       var_dump($test) 
     ?> 

     <?php } 
     } 
     ?> 

但在這個例子中,我得到一個int(0),所以我怎麼能在後獲得不同的屬性,如它的類別,刺蛾,分類等

+0

你是什麼意思的Wordpress功能的屬性?你的意思是像這個函數的參數'get_adjacent_post($ in_same_term,$ excluded_terms,$ previous,$ taxonomy)'接受4個參數嗎? – cylua2

+0

我也不明白這個問題.... – VolkerK

+0

@VolkerK我粘貼的鏈接,鏈接到我正在談論的屬性。 – Nofel

回答

1

我認爲你正在試圖做的是獲取信息關於API編程。問題是PHP不適合做類似的事情,因爲沒有靜態類型。無論如何,Wordpress都會使用即時生成的對象和關聯數組。如果模板函數實際上會返回某種類型的對象,那麼您肯定可以查找這種類型的屬性並獲得答案。

但是,由於情況並非如此,所以您真正能做的就是調用一次有問題的函數,然後查看結果。你的情況,例如:

$category = get_the_category(); 
var_dump($category); 

當然,你也可以take a look at the code找出結果值將如何樣子。這很麻煩,因爲通常會調用無數其他函數來組裝結果。

注意:這不適用於所有功能。有一些實際輸出結果而不是返回結果。但是,你並不需要調查這些,因爲它們的結果只是一個字符串。 (您可以通過它們的前綴the_來識別這些功能,但不是get_the_,如您的示例中所示。)

如果我完全錯過了您的觀點,請告訴我,我會再試一次。 ;-)

+0

雖然我們做'$ category = get_the_category(); var_dump($ category);'輸出是空的。這是我的小菜一碟。我如何傳遞參數或不能訪問與當前帖子相關的屬性,例如在此示例中獲取類別詳細信息。 – Nofel

+1

您是否知道所有'the_'函數只能在[Loop](https://codex.wordpress.org/The_Loop)中使用?如果你以前沒有調用過'the_post()',你不能使用'get_the_category()'和類似的模板函數。 –

+0

我已更新我的問題,包括我如何使用循環以及它如何返回0或空 – Nofel