2011-12-19 30 views
0

我在我们的wp站点上见到了一个非常奇怪的现象(http://can.org.uk/training/training-diary)。展示奇怪行为的页面由single.php处理,并且该帖子中包含简码。短码是:用短代码很奇怪的wordpress行为

[TCAL标签=当然]

此短码应生成包含当前类别内具有标记“当然”的所有文章的表。现在我知道代码的工作原理与今天上午一样,如果我在短代码函数的底部添加一个回显,那么我可以看到相关的表已经被编译并且被函数返回。

问题是,页面显示为空白...什么也没有显示出来。

此外,即使是陌生人,再次检查后,现在整个网站显示为空白。如果我去主页http://can.org.uk那么我什么都看不到 - 至少在我家里的笔记本电脑上它显示为空白,在我的工作电脑上它似乎工作得很好(除了前面提到的页面)。

我可以登录仪表板,所有看起来都很好。 我没有安装任何插件。

有人知道这里可能会出现什么问题吗?

+0

你看着你的PHP错误日志文件或打开PHP错误? – CookiesForDevo 2011-12-19 20:48:16

回答

0

可能是“标题已发送”?尝试在配置文件上打开WP DEBUG并设置错误报告给所有人,我很确定它会成为头部问题。

检查,如果在普通的.php文件中,你的...?> <?php...之间没有空格。

+0

打开调试 - 这我不知道:( - 出现了一些错误,其中之一是头已经发送! – user1106252 2011-12-19 21:07:33

+0

尽量做你最好的解决它们一个接一个,头发allready发送将是 – 2011-12-19 21:09:49

+0

此外,更新您的原始文章并粘贴错误,可能会提供更多线索。如果您不想这样做,错误末尾的行号将有助于修复并将此答案标记为已接受。 – 2011-12-19 21:13:05

0

你应该总是返回短码的输出,而不是回显它。如果你只是输出它,Wordpress会照顾你的渲染。

这里是一个简单的,例如:

function test_function($attributes){ 
    return "<p><b>SHORTCODE TEST:</b> 
    <br/>these are the attributes ". 
    implode($attributes," ")."</p>"; 
}