首先,我对WordPress并不陌生,从早期的1.x版本开始,我就一直在积极地将它用于各种轻量级自定义内容管理系统。
我使用2.8.6的新版本来构建一个非常非常简单的博客。只有一个类别和一个‘单一’模板。由于没有其他功能,因此该站点实际上只需要主题目录中的index.php和single.php文件。
问题:the_author()不能在single.php上工作,只能在index.php上部分工作。部分地,我的意思是标签在循环中的第一个项目起作用,但之后就不起作用了。
wp_get_archives()在侧边栏中没有显示任何内容,尽管博客中有14篇测试文章发布到今年5月。
错误描述:这些标记中神秘的“echo”缺失并不会停止页面的加载。我的CSS模板显示良好(并且它没有隐藏任何内容)。标签只是不向屏幕显示任何输出。
我试过的补救方法:我试着和帖子作者一起使用get_userdata(),但即使这样也不起作用。我可以从数据库($post->author_id)中获取post author_id,但是当将此变量提供给single.php或循环中第一个变量之后的任何post时,get_userdata()不会返回任何内容。
我还尝试了所有的标准跟踪解决方案,比如print_r(),并试图让函数返回一个变量来分析它的内容--没有成功。
如果有人知道这是什么原因,请一定要联系我!我以前从来没有遇到过像这样愚蠢的WordPress问题。谢谢。
发布于 2009-12-16 19:31:49
找出发生了什么事(大概)。
我正在使用一个定制的PHP类来提供一些额外的功能,我在很多地方重用了这些功能。这个类使用它自己的数据库连接,并且由于某种原因,当调用mysql_close()时,它会终止the_author()和wp_get_archives()所做的调用。
我可以使用$wpdb来解决这个问题,但是不确定集成起来会有多麻烦。
无论如何,希望这对其他人有所帮助。
发布于 2009-12-16 22:34:32
在这种情况下,让您类使用$wbdb->dbh作为其连接句柄。这样,只有一个数据库连接是打开的,并且在WordPress和您的类之间共享。
https://stackoverflow.com/questions/1913505
复制相似问题