Elimină secțiunea Opțiuni Personale din Profil
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.

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 :)

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.

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

@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?

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

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

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

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

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
.

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.

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