WordPressのsave_postフックからエラーを表示します
WordPressからのエラーの処理と表示save_post
フック:3つのアプローチ
wordpressには、save_post
フックに由来するエラーを管理および表示するための単一の標準化された方法がありません。 ただし、いくつかの効果的な戦略が存在し、それぞれに独自の長所と短所があります。この記事では、3つの顕著なアプローチについて説明します。$_SESSION
グローバルの使用、WordPressトランジェントの活用、およびリダイレクトでGETパラメーターを使用します。
フックが実行された後、ユーザーはリダイレクトされ、実行スレッドを破壊し、グローバル変数へのアクセスを失います。 したがって、エラー情報を保存アクションからリダイレクトページに転送するためにメカニズムが必要です。
save_post
グローバル$_SESSION
を利用します
この簡単なメソッドは、エラーメッセージを
$_SESSION
if ( !session_id() ) { session_start(); } if ($error) { $_SESSION['my_plugin_errors'] = $error->get_error_message(); } // ...in admin_notices hook... add_action( 'admin_notices', 'my_error_message' ); function my_error_message() { if ( isset( $_SESSION['my_plugin_errors'] ) ) { ?> <div class="error"> <p><?php echo $_SESSION['my_plugin_errors']; ?></p> </div> <?php unset( $_SESSION['my_plugin_errors'] ); } }
- 簡単な実装、データベースのオーバーヘッドなし。
- cons: 標準的なWordPressプラクティスではありません。すべてのセットアップで一貫して有効にされていないセッションハンドリングに依存しています。
- メソッド2:WordPressトランジェントの採用
トランジェントは、WordPress-Nativeキャッシュメカニズムを提供します。 彼らは、有効期限のある時間でデータを保存したり、利用可能な場合はオブジェクトキャッシュを使用したり、データベースに戻ったりします。
実装:- 長所:
if ($error) { set_transient("my_save_post_errors_{$post_id}_{$user_id}", $error, 45); } // ...in admin_notices hook... add_action( 'admin_notices', 'my_error_message' ); function my_error_message() { if ( $error = get_transient( "my_save_post_errors_{$post_id}_{$user_id}" ) ) { ?> <div class="error"> <p><?php echo $error->get_error_message(); ?></p> </div> <?php delete_transient("my_save_post_errors_{$post_id}_{$user_id}"); } }
- cons:データベースインタラクションオブジェクトキャッシュが構成されていない場合。エッジの場合の潜在的なデータ損失
- メソッド3:リダイレクトURLにgetパラメーターを追加する これは、更新メッセージを表示するためのWordPress自身のアプローチを反映しています。 エラーコードは、リダイレクトURLにクエリパラメーターとして追加されます。
- 長所:
- 高性能、データベースへのアクセスなし。 cons:
if ($error) { add_filter('redirect_post_location', function( $location ) use ( $error ) { return add_query_arg( 'my-plugin-error', $error->get_error_code(), $location ); }); } // ...in admin_notices hook... add_action( 'admin_notices', 'my_error_message' ); function my_error_message() { if ( isset( $_GET['my-plugin-error'] ) ) { // Handle error based on error code (switch statement) ?> <div class="error"> <p><?php // Display error message based on $_GET['my-plugin-error'] ?></p> </div> <?php } }
- 結論
最適な方法は、特定のコンテキストに依存します。トランジェントは、WordPressの統合とパフォーマンスの間のバランスをとりますが、GETパラメーターアプローチは最高のパフォーマンスを提供しますが、エラーメッセージをより慎重に管理する必要があります。
$_SESSION
メソッドは、多様なWordPress環境では最も単純ですが、信頼性が低いです。 ニーズとプロジェクトスケールに最適な方法を選択してください。
以上がWordPressのsave_postフックからエラーを表示しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ブログは、人々が自分の意見、意見、意見をオンラインで表現するための理想的なプラットフォームです。多くの初心者は自分のウェブサイトを構築することに熱心ですが、技術的な障壁やコストの問題を心配することをためらっています。ただし、プラットフォームが初心者の能力とニーズを満たすために進化し続けるにつれて、今まで以上に容易になり始めています。 この記事では、テーマの選択からプラグインの使用まで、セキュリティとパフォーマンスを向上させ、独自のWebサイトを簡単に作成できるように、WordPressブログを構築する方法を段階的に導きます。 ブログのトピックと方向を選択してください ドメイン名を購入したり、ホストを登録する前に、カバーする予定のトピックを特定することをお勧めします。個人的なウェブサイトは、旅行、料理、製品のレビュー、音楽、またはあなたの興味を引き起こす趣味を中心に展開できます。あなたが本当に興味を持っている領域に焦点を当てることは継続的な執筆を奨励することができます

WordPressの記事リストを調整するには4つの方法があります。テーマオプションを使用し、プラグイン(投稿タイプの注文、WP投稿リスト、ボックスのものなど)を使用し、コード(functions.phpファイルに設定を追加)を使用するか、WordPressデータベースを直接変更します。

最近、ユーザーがお気に入りの投稿をパーソナライズされたライブラリに保存できるようにすることで、ユーザー向けのパーソナライズされたエクスペリエンスを作成する方法を示しました。一部の場所で名前を使用することで、パーソナライズされた結果を別のレベルに引き上げることができます(つまり、ウェルカム画面)。幸いなことに、WordPressにより、ユーザーのログインに関する情報を簡単に入手できます。この記事では、現在ログインしているユーザーに関連する情報を取得する方法を紹介します。 get_currentuserinfo()を使用します。 関数。これは、テーマ(ヘッダー、フッター、サイドバー、ページテンプレートなど)のどこでも使用できます。それが機能するためには、ユーザーをログインする必要があります。したがって、使用する必要があります

親カテゴリアーカイブページに子カテゴリを表示する方法を知りたいですか?分類アーカイブページをカスタマイズするときは、訪問者にとってより便利にするためにこれを行う必要がある場合があります。この記事では、親カテゴリアーカイブページに子カテゴリを簡単に表示する方法を示します。サブカテゴリが親カテゴリアーカイブページに表示されるのはなぜですか?親カテゴリアーカイブページにすべての子カテゴリを表示することにより、訪問者にとってより一般的で便利になります。たとえば、本に関するWordPressのブログを実行し、「テーマ」と呼ばれる分類法を持っている場合、「小説」、「ノンフィクション」などのサブ課題を追加して、読者ができるようにすることができます。

過去には、拡張後のプラグインを使用してWordPressの投稿を期限切れにする方法を共有してきました。さて、Activity List Webサイトを作成するとき、このプラグインは非常に便利であることがわかりました。期限切れのアクティビティリストを簡単に削除できます。第二に、このプラグインのおかげで、有効期限後の日付までに投稿を並べ替えることも非常に簡単です。この記事では、WordPressの有効期限後の日付で投稿を並べ替える方法を紹介します。プラグインの変更を反映してカスタムフィールド名を変更するためのコードを更新しました。コメントで私たちに知らせてくれたTajimに感謝します。特定のプロジェクトでは、イベントをカスタムポストタイプとして使用します。今

WordPressは、初心者が簡単に始めることができます。 1.バックグラウンドにログインした後、ユーザーインターフェイスは直感的であり、シンプルなダッシュボードは必要なすべての関数リンクを提供します。 2。基本操作には、コンテンツの作成と編集が含まれます。 WysiWygエディターは、コンテンツの作成を簡素化します。 3.初心者は、プラグインとテーマを介してウェブサイトの機能を拡張でき、学習曲線は存在しますが、練習を通じて習得できます。

WordPress Webサイトやソーシャルメディアアカウントを自動化する方法をお探しですか? 自動化を使用すると、WordPressのブログ投稿やFacebook、Twitter、LinkedIn、Instagramなどで自動的に共有できます。 この記事では、IFTTT、Zapier、およびUncanny Automatorを使用してWordPressとソーシャルメディアを簡単に自動化する方法を紹介します。 WordPressとソーシャルメディアを自動化する理由 WordPreを自動化します

ユーザーの1人が、フッターにクエリの数とページの読み込み時間を表示する方法を他のWebサイトに尋ねました。これをウェブサイトのフッターでよく見ることがよくあり、「1.248秒で64クエリ」のようなものを表示する場合があります。この記事では、WordPressにクエリの数とページの読み込み時間を表示する方法を紹介します。テーマファイル(たとえば、footer.php)で好きな場所に次のコードを貼り付けます。クエリエシン
