因此,我遇到了一个看起来像WP RAM使用问题的问题,正在寻找解决方案。
在我的站点上,我唯一真正遇到这个问题的地方是我试图填充的站点地图页面,但这个问题的解决方案可以在整个站点上普遍应用并节省RAM使用。
本质上,我的这个站点地图页面是所有posts
和pages
在我的网站上。在此页面上,我需要访问的$post变量的唯一元素是title和permalink。不幸的是,我使用的查询返回了所有帖子,每个$post变量中都包含所有信息。
以下是我在此网站地图页面上使用的查询示例custom-post-type
命名为“产品”,自定义分类法为“补充”和术语“所有补充”。我的站点地图页面有多个这样的查询,但出于解释的目的,我只包含这个查询的代码。
$varArray= array(
\'post_type\' => \'products\',
\'post_status\' => \'publish\',
\'supplements\' => \'all-supplements\',
\'posts_per_page\' => -1,
\'orderby\' => \'title\',
\'order\' => \'ASC\'
);
$myProducts= new WP_Query($varArray);
$post变量中保存的大部分信息(对于我的站点,我猜这一趋势在一般使用情况下都会出现)都在“内容”中。我的站点地图页面的典型RAM使用量约为140MB(由调试栏报告),而我的站点上的任何其他典型页面的使用量为50-60MB。差别很大。昨天,站点地图页面停止工作(WSOD),为了修复它,我必须增加WP可以使用的最大RAM量。因为只有一个页面,所以我增加了所有必要的系统资源。因此,我来回答我的问题。
Wordpress中是否有我遗漏的路径/选项posts
/pages
像一个普通的查询,但不是为检索到的帖子获取内容?
或者,是否有更简单的方法可以仅获取给定查询中的特定元素(Title/Permaklink/Slug/etc…)而不是得到整个$post变量shebang?
在我看来,对于许多可湿性粉剂应用程序来说,通常需要帖子/页面的“内容”的唯一位置就是page
或post
页面(显然这里也有例外),访问通过查询在其他页面上检索到的帖子/页面的全部内容是一种简单的过火行为。如果有一种方法可以避免加载帖子列表页面的全部内容,那么就可以节省大量的RAM使用。
任何帮助都将不胜感激。