それで、私はWP RAM使用問題のように見えるものに出会い、解決策を探しています。
私のサイトで実際にこの問題が発生している唯一の場所は、入力しようとしているサイトマップページですが、この問題の解決策は広く適用され、サイト全体のRAM使用量を節約できます。
基本的に、私はこのサイトマップのページには、すべてのリストであるposts
とpages
、私のサイト上で。このページでアクセスする必要がある$ post変数の唯一の要素は、タイトルとパーマリンクです。残念ながら、私が使用しているクエリは、各$ 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〜60 MBです。大きな違い。昨日、サイトマップページが機能しなくなり(WSOD)、それを修正するには、WPが使用できるRAMの最大量を増やす必要がありました。したがって、ページが1つしかないため、必要なシステムリソース全体を増やしています。
したがって、私は私の質問に来る。
Wordpress内のどこかに、通常のクエリのようにフェッチposts
/ 取得するが取得した投稿のコンテンツを取得しないパスウェイ/オプションはありますか?pages
または、代わりに、$ post変数シバン全体を取得する代わりに、特定のクエリ(Title / Permaklink / Slug / etc ...)内の特定の要素のみを取得する簡単な方法はありますか?
多くのWPアプリケーションでは、投稿/ページの「コンテンツ」が通常必要となる唯一の場所はそのpage
またはpost
ページ(明らかにここには例外があります)であり、投稿の完全なコンテンツにアクセスできるようです/ pagesは、他のページのクエリによって取得され、単純にやりすぎです。投稿リストページのコンテンツ全体を読み込まないようにする方法がある場合、RAMの使用量を大幅に節約できます。
任意の助けいただければ幸いです。