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



お勧め

5.3の新機能:日付とタイムゾーン(2019年10月2日 更新)

WordPress 5.3 Beta 1」に記載されていた「Time/Date component fixes」という見出し。開発者向として新しい関数の追加や多くのバグが修正されたとなっており、チェックせざるを得ない。

PHPとMySQLのバージョンを確認(2013年9月11日 更新)

先日、WordPressで構築されたサイトについて最新版へのバージョンアップを依頼される。使用されていたWordPressはバージョン2.xということで、最新版へバージョンアップできるのか、PHPとMySQLのバージョンを確認することになった。

ACF(Advanced Custom Fields)向けにデータをインポートした時のメモ(2023年7月11日 更新)

ACFを採用するサイトにデータをインポートする際、ほとんどのことはwww.advancedcustomfields.comに記載されていたのだが、いくつかわからないことがあった。ここでは、その時に調べたことをメモしておく。

不要なプラグインを読み込まない(2023年6月2日 更新)

稼働中のサーバーにてバックグラウンドで何か処理しようとコマンドラインのプログラムを作る際、効率化や誤動作のリスクを考えると不要なプラグインはロードしないようにしたい。そんなわけで設定内容(データベース)は変更せず、特定のプラグインをロードしないようにできないか考えてみた。

Align widgets horizontally:プラグイン作ってみました(2024年2月28日 更新)

ほぼ毎日何度も見ているダッシュボードページ。自分好みに各ウィジェットの場所を配置しているものの、何かすっきりしない。そこでふと思ったのが、ウィジェットを横並びにできれば隣り合うウィジェットの並びがガタガタしなくなるのでは!?