wp_raise_memory_limit

説明

mixed wp_raise_memory_limit( [ string $context = 'admin' ] )
最大メモリー使用量を増やす。

パラメータ

  • $context
    コンテキスト('admin'、'image'または任意の名前)を指定(省略時は'admin')。

返り値

PHP設定のmemory_limit値を変更できない状態か、現在のmemory_limit値で-1(上限なし)の場合は、falseを返す。

注意

バージョン4.6.0で追加された関数で、標準では管理ページ(wp-admin以下のページ)を表示する際に呼び出している。従来のバージョンにおいて最大メモリー使用量をカスタマイズする場合、該当するページ内にadmin_memory_limitフィルターやimage_memory_limitフィルターが用意されており、それらを使用して行うことができた。バージョン4.6.0では関連ファイルで個別に記述されていた処理を一本化する形で本関数が用意されている。

管理ページ(wp-admin以下のページ)で最大メモリー使用量をカスタマイズしたい場合、この関数を呼び出すのではなく、関連するフィルター関数を登録して最大メモリー使用量を制御することになる。なお、すでにadmin_memory_limitフィルターやimage_memory_limitフィルターを使用している場合は特に変更する必要はない。

また管理ページを含む特定のページで最大メモリー使用量をカスタマイズしたい場合は、該当するフィルター関数を登録してページを表示する前段階で本関数を呼び出す。

【重要】各フィルター関数で変更する最大メモリー使用量の内容は、現在のmemory_limit値およびWP_MAX_MEMORY_LIMITの値(標準では256M)よりも大きくなければならない。

[6.3.0]'cron_memory_limit'フィルターが追加された。


使用例

  • 特定ページ用のコンテキスト'private'で最大メモリー使用量を512Mに変更する。
    <?php
    // 最大メモリー使用量を変更したいページに以下を記述
    wp_raise_memory_limit( 'private' );
    
    // テーマのfunctions.phpやプラグインで以下を記述
    add_filter( 'private_memory_limit', 'mytheme_private_memory_limit' );
    
    function mytheme_private_memory_limit( $filtered_limit ) {
    	return '512M';
    }
    ?>

フィルター

[3.0.0]管理ページ全般(パラメータ$contentが'admin')の最大メモリー使用量を増やす場合は'admin_memory_limit'フィルターを呼び出す。パラメータ$filtered_limitにはWP_MAX_MEMORY_LIMITの値が格納されている。
$filtered_limit = apply_filters( 'admin_memory_limit', $filtered_limit );
[3.5.0]画像編集関連ページ(パラメータ$contentが'image')の最大メモリー使用量を増やす場合は'image_memory_limit'フィルターを呼び出す。パラメータ$filtered_limitにはWP_MAX_MEMORY_LIMITの値が格納されている。
$filtered_limit = apply_filters( 'image_memory_limit', $filtered_limit );
[6.3.0]WP_Cronイベント中(パラメータ$contextが'cron')の最大メモリー使用量を増やす場合は'cron_memory_limit'フィルターを呼び出す。パラメータ$filtered_limitにはWP_MAX_MEMORY_LIMITの値が格納されている。
$filtered_limit = apply_filters( 'cron_memory_limit', $filtered_limit );
[4.6.0]任意のページの最大メモリー使用量を増やす場合は'{$context}_memory_limit'フィルター(例えば$contextが'private'の場合は'private_memory_limit')を呼び出す。パラメータ$filtered_limitにはWP_MAX_MEMORY_LIMITの値が格納されている。
$filtered_limit = apply_filters( "{$context}_memory_limit", $filtered_limit );

アクション

実行するアクションはありません。

ソースファイル

/wp-includes/functions.php

最終更新 : 2023年08月09日 08:23



お勧め

ブロックエディターをちょっとだけカスタマイズしてみる(2021年11月3日 更新)

ブロックエディターで投稿を編集していると「ここは〇〇だったらいいのにな」と思うところがある。今回は、そんな気になるところをいくつか(自分好みに)調整してみた。

初期化に関連するアクションのおさらい(2013年11月27日 更新)

いつも何気なくfunctions.phpで使っているafter_setup_themeアクションやinitアクション。普段はあまり意識していなかったが、ふとしたことからどんな順番に呼び出されるのか気になってしまい、ちょっと調べてみた。

プラグインのロード順を制御する(2014年6月9日 更新)

これまでプラグインがどのような順番でロードされるか意識していなかったのだが、とある自作プラグインを他のプラグインよりも先にロードさせたくなったので調べてみた。

3.2標準テーマ「Twenty Eleven」は投稿フォーマットに着目(2011年7月6日 更新)

新テーマ「Twenty Eleven」のトップページでは、投稿フォーマットに応じて表示を切り替える仕組みが提案されている。ここでは、その投稿フォームの活用方法を簡単に紹介する。

プラグインのヘッダー情報を国際化対応しよう(2018年5月27日 更新)

バージョン4.8がリリースされてひと段落。あらためてプラグイン一覧ページを見てみると「Akismet」が「Akismet Anti-Spam (アンチスパム)」と表示されていた。説明文だけじゃなくプラグイン名も国際化対応できたのね。