2012-11-15 44 views
-2

我構建了一個Wordpress主題,並展示了自定義帖子類型的自定義字段。而不是寫這麼多次:編寫PHP函數並將其傳遞給字符串

<?php if(get_post_meta($post->ID, 'custom_item', true)){ echo $post_meta_data['custom_item'][0]; } ?> 

我不能寫一個函數來縮短這個過程嗎?有些東西我會把它傳遞給一個變量,它可以插入到函數中。這是我到目前爲止,沒有運氣:

<?php 
    function display_meta($custom_meta) { 
    if(get_post_meta($post->ID, $custom_meta, true)){ echo $post_meta_data[$custom_meta][0]; }} 
?> 

然後,我希望能夠爲每個字段做這樣的事情:

<?php echo display_meta('custom_item') ?> 

我還是比較新的PHP,這是我第一次嘗試編寫這樣的函數。任何幫助是極大的讚賞!

+1

「我對PHP還比較陌生,這是我第一次嘗試編寫這樣的函數。」 - http://php.net/manual/en/functions.user-defined.php – zerkms

+0

定義*「沒有運氣」* – Phil

回答

2

看起來像你需要通過$崗位和$ post_meta_data的功能以及。

<?php 
function display_meta($custom_meta, $post, $post_meta_data) { 
    if(get_post_meta($post->ID, $custom_meta, true)){ 
     echo $post_meta_data[$custom_meta][0]; 
    } 
} 
?> 

並且您正在嘗試(錯誤地)執行兩次回聲。像這樣的東西會更好地工作

<?php display_meta('custom_item', $post, $post_meta_data) ?> 

你應該做一些簡單的PHP教程,並瞭解功能和範圍壽。

+0

謝謝你,這是我正在尋找的。我肯定會更多地閱讀它。我只是想確保我正朝着正確的方向前進。謝謝,我注意到我回響了兩次。 – souporserious

0

我相信你是在談論關閉,您可在PHP5.3

$myFunc = function() 
{ 
    return 1; 
}; 

function test($callback) 
{ 
    if(is_callable($callback)) 
    { 
     $callback(); 
    } 
} 

test($myFunc); 
相關問題