首先,我没有面对WordPress,我从早期的1.x系列开始就积极地将它用于各种轻量级自定义CMS。
我正在使用2.8.6的全新版本进行非常非常简单的博客构建。只有一个类别,只有一个“单一”模板。没有其他功能,因此该网站只需要主题目录中的index.php和single.php文件。
问题:
the_author()
不适用于single.php,仅适用于index.php。部分地,我的意思是标签适用于循环中的第一个项目,但之后不起作用。
wp_get_archives()
在边栏中没有显示任何内容,即使博客中有14篇测试文章已发布至今年5月。
错误描述: 这些标签神秘地缺少“回声”并不会停止加载页面。我的CSS模板显示正常(并不是CSS隐藏任何东西)。标签只是没有向屏幕显示输出。
我试过的补救措施:
我已尝试将get_userdata()
与帖子作者一起使用,但即使这样也行不通。我可以从数据库($post->author_id)
获取post_ author_id,但get_userdata()
在single.php上输入此变量或在循环中的第一个之后的任何帖子中都不会返回任何内容。
我还尝试了所有标准跟踪解决方案,例如print_r()
,并试图让函数返回一个变量来分析它的内容 - 没有运气。
如果有人知道可能造成这种情况的原因,请与我们取得联系!我之前从未遇到像这样的WordPress的愚蠢问题。感谢。
答案 0 :(得分:0)
发现了什么(ish)。
我正在使用自定义PHP类来提供一些我在很多地方重用的附加功能。这个类使用它自己的数据库连接,并且出于某种原因调用mysql_close()时,它终止了the_author()和wp_get_archives()的调用。
可能使用$ wpdb可以解决这个问题,但不确定整合它会有多麻烦。
无论如何,希望这可以帮助其他人。
答案 1 :(得分:0)
在这种情况下,您的类使用$ wbdb-> dbh作为其连接句柄。这样只打开一个数据库连接,并在WordPress和你的类之间共享。