web-dev-qa-db-ja.com

プロフィールから個人用オプションセッションを削除する

あなたのプロフィール wp-admin/profile.php)管理ページで個人用オプションを非表示/削除したい。

私はこれに対する解決策が存在することを認識しています、しかし私は彼らがこのセクションを隠すためにjQueryを使用します。これは機能しますが、ユーザーがブラウザでJavaScriptを無効にしていると、再び表示されます。したがって、個人用オプションを削除するのは適切な方法ではありません。

ページのHTMLソースから[個人用オプション]セクションを削除する方法はありますか?これは、jQueryやCSSのハック、あるいはコアファイルの修正がないことを意味します。

11
dev-jim

これでうまくいくはずです

// 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' );

また、あなたの以前の質問を解決済みとしてマークすることを忘れないでください:)

24
user5424

承認された回答が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();
        });     
5
RafaSashi

ちょうどこれを理解しようとしていて、この答えに出くわしました。 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' );
5
KornDev

@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
Menian Lee

3.9にアップデートすると、以下のように動作します。

add_action( 'admin_head', 'cor_profile_subject_start' );
add_action( 'admin_footer', 'cor_profile_subject_end' );
2
Allen Sutton

これが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();
});
0
Grant

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に置き換えます。

0

を使って

$subject = preg_replace( '#<h3>'.__("Personal Options").'</h3>.+?/table>#s', '', $subject, 1 );

cor_remove_personal_options関数では、同様にローカライズされています。

0
user3252207

私はこの解決策を見つけました: https://premium.wpmudev.org/blog/how-to-simplify-wordpress-profiles-by-removing-personal-options/?ptm=c&utm_expid=3606929-108.O6f5ypXuTg -XPCV9sY1yrw.2

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

これらの行を関数に追加するだけです。

0
K. Tromp