Profilden Kişisel Seçenekler bölümünü kaldır


11

Profiliniz ( wp-admin/profile.php) yönetici sayfasındaki Kişisel Seçenekleri gizlemek / kaldırmak istiyorum .

Bunun için çözümlerin var olduğunun farkındayım, ancak bu bölümü gizlemek için jQuery kullanıyorum. Bu işe yarar, ancak bir kullanıcı tarayıcısında JavaScript devre dışı bırakıldığında tekrar görünür. Bu nedenle Kişisel Seçenekleri kaldırmak için uygun bir yol değildir.

Kişisel Seçenekler bölümünü sayfanın HTML kaynağından kaldırmanın bir yolu var mı? Bu, jQuery veya CSS korsanlığı veya çekirdek dosya değişikliği anlamına gelmez.


Bir kullanıcının JavaScript'i devre dışı bırakması durumunda Wordpress'te kullanamayacakları çok daha fazlası var. Ama yine de, sunucu tarafı yapmak mümkün olduğunda çok daha iyi :)
Tim Malone

Dikkatli olun - cevaba bakın: wordpress.stackexchange.com/a/162277/33667
T.Todua

Yanıtlar:


24

Bu hile yapmalı

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

Ayrıca, önceki sorularınızı çözülmüş olarak işaretlemeyi unutmayın :)


Bu harika, ama WP 3.4 için nasıl çalıştırabilirim? yalnızca renk düzeni seçicisi kaldırılır. muhtemelen bec i dosyaları admin_head-profile.phpve admin_footer-profile.phpçekirdek bulmak gibi olamaz . fikir? çok teşekkürler.
Ana Ban

Çalışmadığından emin misiniz? Ben sadece yeni bir kurulumda kullandım ve Tamam çalıştı. Başka bir dil kullanıyorsanız yukarıdaki kodu düzenlemeniz gerektiğini unutmayın. Ayrıca, şununla ilgili bazı bilgiler admin_head-profile.phpve admin_footer-profile.php: codex.wordpress.org/Plugin_API/…

@CorvanNoorloos Bunun için teşekkürler, araç çubuğunu göstermek isteyip istemediklerini kontrol etmelerine izin vermenin herhangi bir yolu var mı?
Greenhoe

6

Sadece bunu anlamaya çalışıyordu ve bu cevaba rastladı. Cor van'ın yukarıdaki kodu artık çalışmıyor, ancak add_action'da küçük bir değişiklikle işe yarayabilir.

Tek yapmanız gereken son iki satırı şuradan değiştirmek:

add_action( 'admin_head-profile.php', 'cor_profile_subject_start' );
add_action( 'admin_footer-profile.php', 'cor_profile_subject_end' );

için

add_action( 'admin_head-user-edit.php', 'cor_profile_subject_start' );
add_action( 'admin_footer-user-edit.php', 'cor_profile_subject_end' );

Yani, son kod şöyle görünecektir:

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

Güzel takip, orijinal kodda bu değişiklik mükemmel çalıştı.
Daniel

Daha fazla <h3> elemanını nasıl kaldırabileceğimi söyleyebilir misiniz? Yukarıdaki kodda hangi değişikliklere ihtiyacım var?
Fabian

5

Kabul edilen cevap 4.8 ile çalışmıyor

İşte herhangi bir sürümle çalışması gereken güncel ve basitleştirilmiş bir kod:

        // 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();
        });     

1
+1 ancak kabul edilen cevapla aynı sorun, dizenin İngilizce olmayan dillerle çalışabilmesi için yerelleştirilmesi gerekir.
Mark Kaplun

@MarkKaplun doğru! Değişikliği ben yaptım.
RafaSashi

3

@Per tarafından yapılan yorum sayesinde 4.5.2 için çalıştım

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

2

3.9 Güncellemesi, aşağıdaki işler:

add_action( 'admin_head', 'cor_profile_subject_start' );
add_action( 'admin_footer', 'cor_profile_subject_end' );

1

Wordpress 4.9.8'de test edilen CSS çözümüm

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

Ben sadece kodun sabit kodlu Personal Optionsdize nedeniyle WordPress yerelleştirilmiş sürümleri için çalışmayacağını açıklamak istedim . Burada kolay bir çözüm düşünemiyorum, ama önerilerinizi bekliyoruz.

Bunu bir yorum olarak eklerdim, ancak yorum eklemek için yeterli üne sahip değilim.

Ayrıca bu fırsatı WordPress sürüm 3.9 için güncelleştirilmiş tüm kodu yeniden yapıştırmak için kullanıyorum.

İşte burada:

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

Yine, WP kurulumunuzun dilinin ne olacağını önceden biliyorsanız, Personal Optionsdizeyi dilinizin yerelleştirilmiş sürümüne değiştirin, örneğin İtalyanca ile değiştireceksiniz Impostazioni personali.


0

Kullanarak

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

cor_remove_personal_options işlevinde de yerelleştirilmiştir.


0

Bu çözümü şu adreste buldum: https://premium.wpmudev.org/blog/how-to-simplify-wordpress-profiles-by-removing-personal-options/?ptm=c&utm_expid=3606929-108.O6f5ypXuTg-XPCV9sY1yrw 0,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');

Daha spesifik olmak veya daha fazlasını kaldırmak istiyorsanız, buraya bir göz atmalısınız: https://isabelcastillo.com/hide-personal-options-wordpress-admin-profile

Bu satırları işleve ekleyebilirsiniz.


Javascript ile kaldırmak asla iyi bir uygulama değildir ...
Marcos Buarque
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.