2013-02-14 54 views
1

如何創建一個函數以在while循環中使用。像the_title()the_meta()在WordPress? 一個簡單的樣本就足夠了。創建php函數在while循環中使用

+2

@andho我認爲他知道如何「創建」一個PHP函數,但不知道如何在Wordpress循環中使用它。關於這個問題:你應該看看functions.php包括它的文檔。你可以在其中定義函數,並在Wordpress中使用globaly afaik。 – sascha 2013-02-14 10:48:35

+0

@ Sn0opy我想創建一個基於模板的腳本,我需要幫助爲我的腳本創建一些模板標籤。像WordPress: 'while(have_posts()):the_post();' 'the_title()'在這個循環內... – WHiSPER 2013-02-14 10:53:39

+1

@WHiSPER只需在你的主題文件夾的functions.php中創建你自己的函數。該功能在模板中隨處可見。 – sascha 2013-02-14 12:44:45

回答

1

你可以使用全局變量。例如,假設你有一個全局數組,這裏的東西做的是(很明顯,你需要添加更多的魯棒性這樣的錯誤檢查。再加上你將如何使用這個WordPress的將取決於你在做什麼)

$post= array(0=>array('title'=>'the title', 'content'=>'this is the content'), 
       1=>array('title'=>'the second title','content'=>'we all love seconds'), 
      ); 
$array_index=0; 
the_title(); 
the_post(); 
next_post(); 
the_title(); 
the_post(); 

function the_title() { 
    global $post, $array_index; 
    echo $posts[$array_index]['title']; 
} 
function the_post() { 
    global $post, $array_index; 
    echo $posts[$array_index]['title']; 
} 
function next_post() { 
    global $post, $array_index; 
    $array_index++; 
} 
1

因此,從看the_title()和相關的功能,它看起來像你應該能夠做到如下(未經測試,但應工作):

function whatever_you_want($post_id = 0) { 
    $post = get_post($id); 
    // Display something with data from $post 
} 

如果不指定任何POST_ID到功能,get_post()將檢索循環中的當前帖子供您在功能中使用。