2013-02-14 90 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()将检索循环中的当前帖子供您在功能中使用。