Elimină secțiunea Opțiuni Personale din Profil

20 apr. 2012, 11:35:42
Vizualizări: 20.7K
Voturi: 15

Doresc să ascund/elimin Opțiunile Personale din pagina de administrare Profilul Tău (wp-admin/profile.php).

Știu că există soluții pentru acest lucru, dar acestea folosesc jQuery pentru a ascunde această secțiune. Deși funcționează, când un utilizator are JavaScript dezactivat în browser, secțiunea va apărea din nou. Prin urmare, nu este o metodă adecvată pentru a elimina Opțiunile Personale.

Există vreo modalitate de a elimina secțiunea Opțiuni Personale direct din codul HTML al paginii? Mă refer la o soluție care nu implică jQuery, modificări CSS sau modificarea fișierelor de bază WordPress.

3
Comentarii

Doar pentru a adăuga, dacă un utilizator are JavaScript dezactivat, există mult mai multe lucruri pe care nu le va putea folosi în WordPress. Dar totuși, făcând acest lucru pe partea de server este mult mai bine atunci când este posibil :)

Tim Malone Tim Malone
9 mai 2016 06:55:11

Atenție - vezi răspunsul: https://wordpress.stackexchange.com/a/162277/33667

T.Todua T.Todua
4 dec. 2018 13:20:13

Posibilă dublură a întrebării Cum să elimin aceste câmpuri din secțiunea 'Profil'?

T.Todua T.Todua
4 dec. 2018 13:20:42
Toate răspunsurile la întrebare 10
4
25

Aceasta ar trebui să rezolve problema

// elimină opțiunile de schemă de culori din `profile.php`
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );

if ( ! function_exists( 'cor_remove_personal_options' ) ) {
  /**
   * Elimină opțiunile rămase 'Editor Vizual', 'Scurtături de tastatură' și 'Bara de unelte'.
   */
  function cor_remove_personal_options( $subject ) {
    $subject = preg_replace( '#<h3>Opțiuni Personale</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' );

De asemenea, nu uitați să marcați întrebările anterioare ca rezolvate :)

20 apr. 2012 19:13:09
Comentarii

este minunat, dar cum îl fac să funcționeze pentru WP 3.4? doar selectorul de scheme de culori este eliminat. probabil pentru că nu găsesc fișierele admin_head-profile.php și admin_footer-profile.php în nucleu. idei? mulțumesc mult.

Ana Ban Ana Ban
26 iun. 2012 14:20:59

Ești sigur că nu funcționează? Tocmai am folosit acest lucru pe o instalare nouă și a funcționat bine. Reține că trebuie să modifici codul de mai sus dacă folosești altă limbă. De asemenea, iată câteva informații despre admin_head-profile.php și admin_footer-profile.php: http://codex.wordpress.org/Plugin_API/Action_Reference#Administrative_Actions

User User
26 iun. 2012 21:46:05

@CorvanNoorloos Mulțumesc pentru acest lucru, există vreo modalitate de a lăsa opțiunea de a le permite să verifice dacă doresc să afișeze bara de unelte sau nu?

Greenhoe Greenhoe
17 mai 2015 04:46:23

versiunea mea curentă 6.0.2 utilizează h2 nu h3, poate fi necesar să actualizez preg_replace pentru asta

Kender Kender
22 sept. 2022 18:53:01
2
11

Răspunsul acceptat nu funcționează cu versiunea 4.8

Iată un cod actualizat și simplificat care ar trebui să funcționeze cu orice versiune:

        // elimină opțiunile de schemă de culori pentru administrator

        remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );

        // Elimină opțiunile rămase 'Editor Vizual', 'Scurtături de tastatură' și 'Bară de unelte'

        add_action( 'admin_head', function () {

            ob_start( function( $subject ) {

                $subject = preg_replace( '#<h[0-9]>'.__("Opțiuni Personale").'</h[0-9]>.+?/table>#s', '', $subject, 1 );
                return $subject;
            });
        });

        add_action( 'admin_footer', function(){

            ob_end_flush();
        });     
16 iun. 2017 16:41:57
Comentarii

+1 dar aceeași problemă ca și cu răspunsul acceptat, șirul de caractere trebuie localizat pentru a funcționa cu limbi non-engleze.

Mark Kaplun Mark Kaplun
16 iun. 2017 17:36:00

@MarkKaplun ai dreptate! Am făcut modificarea.

RafaSashi RafaSashi
16 iun. 2017 18:50:41
2

Tocmai încercam să rezolv această problemă și am dat peste acest răspuns. Codul de mai sus de la Cor van nu mai funcționează, dar cu o mică modificare la add_action, poate funcționa.

Tot ce trebuie să faci este să schimbi ultimele două linii de la:

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

la

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

Deci, codul final ar arăta cam așa:

if ( ! function_exists( 'cor_remove_personal_options' ) ) {
  /**
   * Elimină opțiunile rămase 'Editor Vizual', 'Scurtături de tastatură' și 'Bară de unelte'.
   */
  function cor_remove_personal_options( $subject ) {
    $subject = preg_replace( '#<h3>Opțiuni Personale</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' );
24 mai 2013 02:20:11
Comentarii

Urmarire frumoasă, această modificare a codului original a funcționat perfect.

Daniel Daniel
13 feb. 2014 04:31:38

Puteți să-mi spuneți cum pot elimina mai multe elemente <h3>? Ce modificări ar trebui să fac la codul de mai sus?

Fabian Fabian
27 ian. 2016 20:35:33
0

Mulțumesc pentru comentariul lui @Per, am reușit să fac să funcționeze pentru versiunea 4.5.2

    // elimină opțiunile de schemă de culori din administrare
    remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );

    if ( ! function_exists( 'cor_remove_personal_options' ) ) {
        /**
        * Elimină opțiunile rămase 'Editor Vizual', 'Scurtături de tastatură' și 'Bara de unelte'.
        */
        function cor_remove_personal_options( $subject ) {
            $subject = preg_replace( '#<h2>Opțiuni Personale</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' );`
7 iun. 2016 14:50:45
0

Actualizare pentru 3.9, următoarele funcționează:

add_action( 'admin_head', 'cor_profile_subject_start' );
add_action( 'admin_footer', 'cor_profile_subject_end' );
18 apr. 2014 11:41:15
0

Iată soluția mea CSS, testată în Wordpress 4.9.8

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();
});
22 aug. 2018 08:27:12
0

Am vrut doar să clarific că codul nu va funcționa pentru versiunile localizate ale WordPress, din cauza șirului hardcodat Personal Options. Nu pot să mă gândesc la nicio soluție ușoară aici, dar sugestiile sunt binevenite.

Aș fi adăugat acest lucru ca un comentariu, dar nu am suficiente puncte de reputație pentru a adăuga un comentariu.

Profit de această ocazie pentru a reposta întregul cod actualizat pentru versiunea WordPress 3.9.

Iată-l:

// elimină opțiunile de schemă de culori din `profile.php`
remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );

if ( ! function_exists( 'cor_remove_personal_options' ) ) {
  /**
   * Elimină opțiunile rămase 'Editor Vizual', 'Scurtături de tastatură' și 'Bară de unelte'.
   */
  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' );

Din nou, dacă știți dinainte care va fi limba instalației voastre WordPress, modificați șirul Personal Options cu versiunea localizată a limbii voastre, de exemplu în italiană îl veți înlocui cu Impostazioni personali.

9 aug. 2014 20:29:08
0

Prin utilizarea

$subject = preg_replace( '#<h3>'.__("Opțiuni Personale").'</h3>.+?/table>#s', '', $subject, 1 );

în funcția cor_remove_personal_options, aceasta este de asemenea localizată.

3 sept. 2015 19:17:41
1

Am găsit această soluție pe: 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');

Dacă dorești să fii mai specific sau să elimini mai multe elemente, ar trebui să consulți acest link: https://isabelcastillo.com/hide-personal-options-wordpress-admin-profile

Poți adăuga aceste linii direct în funcție.

17 iul. 2017 14:56:11
Comentarii

Eliminarea acestuia cu Javascript nu este niciodată o practică bună...

Marcos Buarque Marcos Buarque
16 iul. 2018 06:44:06
0

Am eliminat doar titlul și am folosit CSS pentru a ascunde primul tabel...

Pentru mine, în 2023, acest cod funcționează:

 // elimină opțiunile de schemă de culori din panoul de administrare
    remove_action( 'admin_color_scheme_picker', 'admin_color_scheme_picker' );

    if ( ! function_exists( 'cor_remove_personal_options' ) ) {
        /**
        * Elimină opțiunile rămase 'Editor Vizual', 'Scurtături de tastatură' și 'Bară de unelte'.
        */
        function cor_remove_personal_options( $subject ) {
           $subject = preg_replace( '#<h[0-9]>'.__("Opțiuni Personale").'</h[0-9]>#s', '<style>#your-profile>.form-table {display:none} #your-profile>.form-table ~ .form-table {display:block}</style>', $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 feb. 2023 15:31:54