wp_raise_memory_limit

(4.6.0以降)
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)よりも大きくなければならない。

使用例

  • 特定ページ用のコンテキスト'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]管理ページ全般の最大メモリー使用量を増やす場合は'admin_memory_limit'フィルターを呼び出す。パラメータ$filtered_limitにはWP_MAX_MEMORY_LIMITの値が格納されている。
$filtered_limit = apply_filters( 'admin_memory_limit', $filtered_limit );
[3.5.0]画像編集関連ページの最大メモリー使用量を増やす場合は'image_memory_limit'フィルターを呼び出す。パラメータ$filtered_limitにはWP_MAX_MEMORY_LIMITの値が格納されている。
$filtered_limit = apply_filters( 'image_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

関連

お勧めコンテンツ

ページを表示する直前の前処理にtemplate_redirectアクションを(2013年4月13日 登録)

リクエストに応じてページを表示する直前の準備として何かしらの処理を行っておきたいケースがある。そんな時、テーマの各テンプレートファイルの先頭部分に処理内容をずらずらと記述していませんか。

3.6リリース直前チェック(2013年7月26日 登録)

$wpdbは、WordPressのデータベースにアクセスする際に使用できる便利なオブジェクト。独自テーブルの利用やデータ検索の最適化など、標準提供される関数では実現できないことを手助けしてくれる。そんな$wpdbのescapeメソッドが3.6で非推奨(deprecated)になる。

もうquery_postsは呼ばない(2011年9月27日 登録)

トップページやカテゴリーページで標準の条件に少し手を加えた投稿情報を表示するケースがある。そんな時、テンプレートファイルの先頭でquery_posts関数を呼び出して投稿情報を再抽出していたのだが、フィルター処理をうまく使えばquery_posts関数を呼び出さなくても大丈夫みたいだ。

プラグインの設定ページもレスポンシブ対応(2014年6月3日 登録)

レスポンシブ対応したWordPressの管理画面。プラグインやテーマのカスタマイズで管理画面を拡張しているなら、切り替わるタイミングはきっちり押さえておきたいところではないだろうか。

get_postsとquery_postsを使い分け(2011年1月21日 登録)

get_postsquery_postsは、どちらも複数の投稿情報を取得することができる便利な関数である。パラメータとして指定できる内容も共通しているものが多く、query_postsがより詳細なパラメータを指定でき、高機能になっている。

最終更新日時 : 2016-08-17 15:20