2012-07-13 52 views
1

我试图仅在它是一个指定作者时才显示Wordpress帖子的旁白。我不想显示管理员用户的旁白。Wordpress get_the_author函数测试没有做任何事情?

下面是我使用尝试此代码:

<?php if (get_the_author() != 'admin')?> <h3 style="font-style:italic;">by <?php the_author(); ?></h3> <?php endif;?>

我看到的行为,但不希望是,页面挂断,只显示标题。只有当我注释掉h3内容显示的两条php行时。

我已经验证了可以使条件成立的完整字符串正是我上面显示的内容。我从渲染页面的视图源复制/粘贴它。我甚至尝试将数字1作为整数和字符类型用于测试,但它仍然会挂起页面。

我会做什么错?我是否正确理解这一点?

回答

1

您的问题,其中“页面挂起”是语法之一。你是你if语句后缺少一个:

<?php if (get_the_author() != 'admin')?> 
            ^

这应该修复它:

<?php if (get_the_author() != 'admin'): ?> <h3 style="font-style:italic;">by <?php the_author(); ?></h3> <?php endif;?> 

这是错误的类型,通过启用error_reporting和检查你的日志,或启用display_errors是容易被检测到以及:

error_reporting(E_ALL); 
ini_set('display_errors', 1); 
+0

谢谢!那就是诀窍。我不知道为什么我一直忘记那些细节。我无法启用错误消息,因为不幸的是,这是一个没有暂存站点的实时站点,需要完成修复才能重新配置我的开发站点。感谢你的耐心! – 2012-07-13 23:59:08

+0

没问题。 :)你至少应该打开error_reporting并在生产中记录到一个文件(默认情况下它是apache错误日志)。您仍应禁用display_errors,但即使在生产站点上也不应禁用错误报告。 – netcoder 2012-07-14 00:25:36