あなたのプロフィール (wp-admin/profile.php
)管理ページで個人用オプションを非表示/削除したい。
私はこれに対する解決策が存在することを認識しています、しかし私は彼らがこのセクションを隠すためにjQueryを使用します。これは機能しますが、ユーザーがブラウザでJavaScriptを無効にしていると、再び表示されます。したがって、個人用オプションを削除するのは適切な方法ではありません。
ページのHTMLソースから[個人用オプション]セクションを削除する方法はありますか?これは、jQueryやCSSのハック、あるいはコアファイルの修正がないことを意味します。
これでうまくいくはずです
// removes the `profile.php` admin color scheme options
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
if ( ! function_exists( 'cor_remove_personal_options' ) ) {
/**
* Removes the leftover 'Visual Editor', 'Keyboard Shortcuts' and 'Toolbar' options.
*/
function cor_remove_personal_options( $subject ) {
$subject = preg_replace( '#<h3>Personal Options</h3>.+?/table>#s', '', $subject, 1 );
return $subject;
}
function cor_profile_subject_start() {
ob_start( 'cor_remove_personal_options' );
}
function cor_profile_subject_end() {
ob_end_flush();
}
}
add_action( 'admin_head-profile.php', 'cor_profile_subject_start' );
add_action( 'admin_footer-profile.php', 'cor_profile_subject_end' );
また、あなたの以前の質問を解決済みとしてマークすることを忘れないでください:)
承認された回答が4.8では機能していません
これは、どのバージョンでも動作するはずの、最新かつ単純化されたコードです。
// removes admin color scheme options
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
//Removes the leftover 'Visual Editor', 'Keyboard Shortcuts' and 'Toolbar' options.
add_action( 'admin_head', function () {
ob_start( function( $subject ) {
$subject = preg_replace( '#<h[0-9]>'.__("Personal Options").'</h[0-9]>.+?/table>#s', '', $subject, 1 );
return $subject;
});
});
add_action( 'admin_footer', function(){
ob_end_flush();
});
ちょうどこれを理解しようとしていて、この答えに出くわしました。 Cor vanによる上記のコードはもう機能しませんが、add_actionを少し変更するだけで可能です。
最後の2行を次のように変更するだけです。
add_action( 'admin_head-profile.php', 'cor_profile_subject_start' );
add_action( 'admin_footer-profile.php', 'cor_profile_subject_end' );
に
add_action( 'admin_head-user-edit.php', 'cor_profile_subject_start' );
add_action( 'admin_footer-user-edit.php', 'cor_profile_subject_end' );
したがって、最終的なコードは次のようになります。
if ( ! function_exists( 'cor_remove_personal_options' ) ) {
/**
* Removes the leftover 'Visual Editor', 'Keyboard Shortcuts' and 'Toolbar' options.
*/
function cor_remove_personal_options( $subject ) {
$subject = preg_replace( '#<h3>Personal Options</h3>.+?/table>#s', '', $subject, 1 );
return $subject;
}
function cor_profile_subject_start() {
ob_start( 'cor_remove_personal_options' );
}
function cor_profile_subject_end() {
ob_end_flush();
}
}
add_action( 'admin_head-user-edit.php', 'cor_profile_subject_start' );
add_action( 'admin_footer-user-edit.php', 'cor_profile_subject_end' );
@Perからのコメントのおかげで私は4.5.2で動くようになりました
// removes admin color scheme options
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
if ( ! function_exists( 'cor_remove_personal_options' ) ) {
/**
* Removes the leftover 'Visual Editor', 'Keyboard Shortcuts' and 'Toolbar' options.
*/
function cor_remove_personal_options( $subject ) {
$subject = preg_replace( '#<h2>Personal Options</h2>.+?/table>#s', '', $subject, 1 );
return $subject;
}
function cor_profile_subject_start() {
ob_start( 'cor_remove_personal_options' );
}
function cor_profile_subject_end() {
ob_end_flush();
}
}
add_action( 'admin_head', 'cor_profile_subject_start' );
add_action( 'admin_footer', 'cor_profile_subject_end' );`
3.9にアップデートすると、以下のように動作します。
add_action( 'admin_head', 'cor_profile_subject_start' );
add_action( 'admin_footer', 'cor_profile_subject_end' );
これがWordpress 4.9.8でテストされた私のCSSソリューションです。
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
add_action( 'admin_head', function(){
ob_start(); ?>
<style>
#your-profile > h2,
.user-rich-editing-wrap,
.user-syntax-highlighting-wrap,
.user-comment-shortcuts-wrap,
.user-admin-bar-front-wrap {
display: none;
}
</style>
<?php ob_end_flush();
});
Personal Options
文字列がハードコードされているため、WordPressのローカライズバージョンではコードが機能しないことを明確にしたかっただけです。ここでは簡単な解決策は考えられませんが、提案は大歓迎です。
これをコメントとして追加しますが、コメントを追加するほどの評判はありません。
また、この機会に、WordPressバージョン3.9用に更新されたコード全体を貼り付け直します。
ここにあります:
// removes the `profile.php` admin color scheme options
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );
if ( ! function_exists( 'cor_remove_personal_options' ) ) {
/**
* Removes the leftover 'Visual Editor', 'Keyboard Shortcuts' and 'Toolbar' options.
*/
function cor_remove_personal_options( $subject ) {
$subject = preg_replace( '#<h3>Personal Options</h3>.+?/table>#s', '', $subject, 1 );
return $subject;
}
function cor_profile_subject_start() {
ob_start( 'cor_remove_personal_options' );
}
function cor_profile_subject_end() {
ob_end_flush();
}
}
add_action( 'admin_head', 'cor_profile_subject_start' );
add_action( 'admin_footer', 'cor_profile_subject_end' );
繰り返しますが、WPインストールの言語が事前にわかっている場合は、Personal Options
文字列をローカライズ版の言語に変更します。たとえば、イタリア語ではImpostazioni personali
に置き換えます。
を使って
$subject = preg_replace( '#<h3>'.__("Personal Options").'</h3>.+?/table>#s', '', $subject, 1 );
cor_remove_personal_options関数では、同様にローカライズされています。
function hide_personal_options(){
echo "\n" . '<script type="text/javascript">jQuery(document).ready(function($) {
$(\'form#your-profile > h3:first\').hide(); $(\'form#your-profile >
table:first\').hide(); $(\'form#your-profile\').show(); });</script>' . "\n";
}
add_action('admin_head','hide_personal_options');
より具体的にしたい、またはもっと削除したい場合は、こちらをご覧ください。 https://isabelcastillo.com/hide-personal-options-wordpress-admin-profile
これらの行を関数に追加するだけです。