WordPressの管理ページでは、テーマと同じ方法でテンプレートを実際に使用していません。したがって、実際に置き換えるテンプレートはありません。
言い換えれば、デフォルトのWordPress user-edit.phpページを置き換えるためのオプションがあります。
1)[brute force method]まっすぐにコアwp-admin/user-edit.php
ファイルをあなた自身で置き換えてください。私はコアファイルを置き換えたくないと言っていることはすでに知っています。私はここに登場する他の人のためにこれをリストしています。明らかに、これは理想的ではありません。なぜなら、あなたのファイルはWordPressを更新するたびに上書きされるからです。
2)[サーバーリダイレクト方法]あなたのサイトの.htaccess
ファイルに適切なエントリを追加して、https://yourdomain.tld/wp-admin/user-edit.php
の呼び出しを新しいページ/ファイルにリダイレクトすることができます。サイトが置換ファイルを持たない新しいテーマに切り替えた場合、そのリダイレクトリンクが壊れるため、理想的ではありません。
3)[additiveメソッド]既存のcore/default Usersメニューだけを残して、新しいページを組み込むために独自の管理メニューを追加します(add_menu_page
経由)。次に、[Users]メニューの代わりにその新しいメニューを使用するだけでよいことを理解してください。 user-edit.phpを指し示す他の管理ページのリンクがまだそこを指し示していて、adminユーザを古い/コアページに連れてくるので、理想的ではありません。
4)[php intercept method]はあなたのテーマのPHPコードのwp-admin/user-edit.php
を傍受し、その代わりに置き換えファイルを読み込みます。これはおそらく最善の方法ですが、一番簡単な方法はありません。また、置き換えページでは、ユーザー編集ページのフィルタとフックも使用できるプラグインが正しく機能するようにする必要があります。 #4を達成するために
[PHPのインターセプト]:
コアuser-edit.php
ファイルが最初に行うことは、負荷wp-admin/admin.php
です。そのファイルはすべての関連する管理用のものをロードし、最終的にはuser-edit.php
に制御を戻します。しかし、それがない直前に、それはあなたのテーマののfunctions.phpファイルで、要求を傍受するために、このような関数を使用して、ファイルにリダイレクトし、"load-user-edit.php"
だから、アクションをトリガー:
function scottfive_override_user_edit(){
require_once(get_template_directory() . '/myadminfiles/user-edit-replacement.php');
die();
}
add_action('load-user-edit.php', 'scottfive_override_user_edit', 1);
。なお、このメソッドは、ファイル全体とその機能とセキュリティをすべて置き換えます。オリジナルのcore-edit.phpを見て、認証/認証コードを複製して、ファイルが少なくとも元のファイルと同じように安全であることを確認することをお勧めします。
コーディングハッピー! :D