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

最終更新 : 2018年05月27日 10:44



お勧め

投稿ページでユニークなテンプレートを選択しよう(2018年5月27日 更新)

4.7の変更点に「投稿タイプテンプレート」がある。これは従来固定ページ('page')向けに任意のテンプレートを適用できる機能が拡張されたもので、投稿ページ('post')はもちろんカスタム投稿タイプのページにも適用可能になっている。

ブロックエディターの色設定を変えてみる(2019年12月11日 更新)

バージョン5.3で機能強化されたブロックエディター。対応を考えて新テーマ「Twenty Twenty」のソースコードを眺めていく。

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

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

ショートコードを含んだページを表示する前に何か処理する(2014年5月28日 更新)

固定ページまたは投稿ページに独自のフォームを埋め込む。入力→登録の2段階のフォームなら著名なプラグイン「Contact Form 7」を利用すればいいのだが、クライアントの依頼は入力→確認→登録の3段階で組み込む要素が特化していたので、独自の実装方法を考えることになった。

Emojin:プラグイン作ってみました(2015年3月21日 更新)

ちょっと前のTLでiOSの絵文字を含んだ投稿を保存すると、絵文字以降の文章がすべて消えた状態で保存されるといったツイートを見かけた。少し検索してみると、MySQLのデータベースの文字セットが「utf8」の場合、iOSの絵文字のような4バイトの文字を正常に保存できず、それ以降の文章も保存されないというものらしい。対処方法としてデータベースの文字セットを「utf8mb4」に変更するのが有効らしいのだが、他に回避策がないか考えてみた。