POST变量在自定义函数中显示不正确

时间:2012-01-13 作者:Seth

下面的简单函数似乎有点问题,但我不知道它是什么。它显示如下,我不明白为什么。我知道它与函数ID()、title()和permalink()有关,但我不知道它是什么。抱歉,如果这听起来像个愚蠢的问题。

1http://www.example.com/?p=1Hello world!<h1 class="title" id="post-"><a rel="bookmark" href=""></a></h1>


function basetheme_nodetitle($before_title="",$after_title="",$link = true) {
    /*
     * basetheme_nodetitle() can only be called inside the Loop
     * $before_title is the initial tag in which to wrap your title, usually <h2> or similar.
     * $after_title is the tag after the title, usually </h2> or similar. Only works if $before_title is NOT empty
     * $link is whether or not the title should be linked. Default is true
     */
    if(empty($before_title)){$before_title = \'<h1 class="title" id="post-\' . the_ID() . \'">\';$after_title = "</h1>";}
    if($link == false){$beforelink = \'\';$afterlink = \'\';}else{$beforelink = \'<a rel="bookmark" href="\' . the_permalink() . \'">\';$afterlink = \'</a>\';}
    echo $before_title . $beforelink . the_title() . $afterlink . $after_title;
}

1 个回复
最合适的回答,由SO网友:petermolnar 整理而成

函数的内部与全局事物分离。因此,由其他进程设置的变量在函数中是不可访问/使用的,除非您这样做,例如global 变量的关键字。

所以

添加

the_post();
在函数的{之后,

或添加

global $post;
和使用$post->ID 而不是the_ID 等等我还建议您阅读一些关于PHP编程的书籍。

结束

相关推荐

Open Graph in Index Loop

我有一个帖子索引,我想为每个帖子插入一个类似Facebook的按钮。到目前为止,我已经为单个帖子在head中设置了所有打开的图形数据。关于在循环中使用开放图形数据(特别是缩略图)有什么想法吗?