自分のプロフィールページにすべてのユーザーのためのグローバルメッセージを表示したいです。 profile.php
を編集したくありませんこれを行うためのhook
は何ですか?
基本的に、メッセージdiv id <div id="message" class="updated">
の下と<form id="your-profile" novalidate="novalidate" method="post" action="http://localhost/wordpress/gantry/demo2/wp-admin/profile.php">
の上にdiv
を表示するためにparagraph
を追加したいです。
あなたのfunction.phpにこのコードを追加してください
<?php
function showMessage($message, $errormsg = false)
{
if ($errormsg) {
echo '<div id="message" class="error">';
}
else {
echo '<div id="message" class="updated fade">';
}
echo "<p><strong>$message</strong></p></div>";
}
function showAdminMessages()
{
showMessage("This is my message.", true);
}
add_action('admin_notices', 'showAdminMessages');
?>
残念ながらこれは不可能で、wp-admin/edit-use.php
で使うフックがありません。
一番近いのは、Personal Optionsの下に何かを置くことです。ただし、このフックはそのセクションの最後に呼び出されているので、ページの少し下にメッセージが表示されます -
add_action('personal_options', 'my_edit_user_admin_message');
function my_edit_user_admin_message(){
?>
<tr class="show-admin-bar user-admin-bar-front-wrap">
<th scope="row"><label for="admin_bar_front"><?php _e( 'Admin message' )?></label></th>
<td><fieldset>
<legend class="screen-reader-text"><span><?php _e('Admin message') ?></span></legend>
<label><p id="my-admin-message">This is my message.</p></label><br />
</fieldset></td>
</tr>
<?php
}
技術的には有効ではありませんが(ほとんどではありませんが、ブラウザで修正されます)、代わりに次のコードを使用して、メッセージを個人用オプションセクションの先頭に移動します。それでもヘッダーの下にあります。
ただし、block
要素をtable
要素内にネストすることは無効であるため、使用しないことをお勧めします。
add_action('personal_options', 'my_edit_user_admin_message');
function my_edit_user_admin_message(){
?>
<div id="my-admin-message">
<p>This is my message.</p>
</div>
<?php
}