如何拥有自定义帖子类型而不是查询所有帖子



我有一种自定义帖子类型,目前在其中有超过100k的帖子。当我尝试转到管理面板中的帖子类型的主页时,我会遇到错误:

致命错误:允许的内存大小为94371840字节耗尽(试图分配84个字节),in/home/spottercharts/spottercharts/spottercharts.com/wp-includes/cache.php on 506

主页通常列出该类型的所有帖子。由于有很多,因此正在吞噬所有PHP记忆。

如果目前还不是PHP.Ini中的PHP内存,是否有其他方法可以让WordPress不查询该类型的所有帖子?我只需要搜索帖子的能力,而不是全部列出它们。如果没有,是否有一种优化此帖子类型的方法,以免消耗太多内存?

我要问的第一件事是您如何获得超过100k的帖子?作为单个帖子,您的数据库中有很多事情要做,我怀疑它们不是所有实际帖子,而是用于其他目的?

您有一些选择:

短期 - 内存限制

内存限制可以通过多种方式在服务器上修改,具体取决于您的服务器配置或主机允许的内容。如果您没有root访问权限,则可以将php.ini文件放入网站的主目录中。

或者,通过添加以下内容来修改.htaccess文件:

php_value memory_limit 256M

当您使用WordPress时,您还可以将以下行添加到wp-config.php文件:

define('WP_MEMORY_LIMIT', '256M');

更好的方法

显然,以上是至少使网站迅速运行的好方法,但实际上是很高的用法。

关于如何改善内存使用量的一些建议:

  1. 减小数据库的大小。您还有其他方法吗可以用来减少您有多少个单独的帖子吗?
  2. 确保您在使用query_posts时要求返回的特定号码。这将确保它不再从数据库中拉出太多,因此使服务器少要处理。

您还可以做很多其他事情,但是实际上您需要考虑为什么数据库中有这么多数据,以及如何最大程度地减少查询量和工作,以使WordPress需要进行返回数据。<<<<<<<<

最新更新