Xóa phần Tùy chọn cá nhân khỏi Hồ sơ


11

Tôi muốn ẩn / xóa Tùy chọn cá nhân trong trang quản trị Hồ sơ của bạn ( wp-admin/profile.php).

Tôi biết rằng các giải pháp cho điều này tồn tại, nhưng tôi sử dụng jQuery để ẩn phần này. Điều này hoạt động, nhưng khi người dùng bị tắt JavaScript trong trình duyệt của họ, nó sẽ hiển thị lại. Do đó, đây không phải là cách thích hợp để xóa Tùy chọn cá nhân.

Có cách nào để xóa phần Tùy chọn cá nhân khỏi nguồn HTML của trang không? Điều này có nghĩa là không có hack hoặc jQuery, hoặc sửa đổi tệp lõi.


Chỉ cần thêm, nếu người dùng bị tắt JavaScript, họ sẽ không thể sử dụng nhiều hơn trong Wordpress. Tuy nhiên, làm việc ở phía máy chủ sẽ tốt hơn nhiều khi có thể :)
Tim Malone

Hãy cẩn thận - xem câu trả lời: wordpress.stackexchange.com/a/162277/33667
T.Todua

Câu trả lời:


24

cái này cần phải dùng mẹo

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

Ngoài ra, đừng quên đánh dấu các câu hỏi trước đó của bạn là đã giải quyết :)


Điều này thật tuyệt vời, nhưng làm cách nào để nó hoạt động cho WP 3.4? chỉ có bộ chọn sơ đồ màu được loại bỏ. có lẽ vì tôi dường như không thể tìm thấy các tập tin admin_head-profile.phpadmin_footer-profile.phptrong lõi. ý tưởng? cảm ơn nhiều.
Ana Ban

Bạn có chắc là nó không hoạt động? Tôi chỉ sử dụng điều này trên một cài đặt mới và nó hoạt động tốt. Lưu ý bạn phải chỉnh sửa mã ở trên nếu bạn đang sử dụng một số ngôn ngữ khác. Ngoài ra, đây là một số thông tin về admin_head-profile.phpadmin_footer-profile.php: codex.wordpress.org/Plugin_API/ Kẻ

@CorvanNoorloos Cảm ơn bạn vì điều này, có cách nào để rời khỏi tùy chọn để cho phép họ kiểm tra xem họ có muốn hiển thị thanh công cụ hay không?
Greenhoe 17/05/2015

6

Chỉ đang cố gắng để tìm ra điều này và đi qua câu trả lời này. Mã trên của Cor van không hoạt động nữa, nhưng với một chút thay đổi của add_action, nó có thể.

Tất cả bạn cần làm là thay đổi hai dòng cuối cùng từ:

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

đến

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

Vì vậy, mã cuối cùng sẽ trông giống như:

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

Theo dõi tốt đẹp, thay đổi này để mã ban đầu hoạt động hoàn hảo.
Daniel

Bạn có thể cho tôi biết làm thế nào tôi có thể loại bỏ nhiều phần tử <h3> hơn không? Tôi cần những sửa đổi nào của đoạn mã trên?
Fabian

5

Câu trả lời được chấp nhận không hoạt động với 4.8

Ở đây có một mã cập nhật và đơn giản hóa nên hoạt động với bất kỳ phiên bản nào:

        // 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 nhưng vấn đề tương tự như với câu trả lời được chấp nhận, chuỗi cần được bản địa hóa để nó hoạt động với các ngôn ngữ không phải tiếng Anh.
Đánh dấu Kaplun

@MarkKaplun đúng vậy! Tôi đã thực hiện thay đổi.
RafaSashi

3

Nhờ nhận xét từ @Per, tôi đã làm cho nó hoạt động cho 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' );`

2

Cập nhật cho 3.9, các công việc sau:

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

1

Đây là giải pháp CSS của tôi, đã được thử nghiệm trong 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();
});

0

Tôi chỉ muốn làm rõ rằng mã sẽ không hoạt động cho các phiên bản WordPress được bản địa hóa, do mã hóa cứng Personal Options chuỗi . Tôi không thể nghĩ ra bất kỳ giải pháp dễ dàng nào ở đây, nhưng đề xuất đều được chào đón.

Tôi đã có thể thêm điều này như một bình luận, nhưng tôi không có đủ danh tiếng để thêm một bình luận.

Tôi cũng nhân cơ hội này để dán lại toàn bộ mã được cập nhật cho phiên bản WordPress 3.9.

Đây là:

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

Một lần nữa, nếu bạn biết trước ngôn ngữ cài đặt WP của bạn sẽ là gì, hãy thay đổi Personal Optionschuỗi thành phiên bản địa phương hóa của ngôn ngữ của bạn, ví dụ như trong tiếng Ý, bạn sẽ thay thế nó bằng Impostazioni personali.


0

Bằng cách sử dụng

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

trong hàm cor_remove_personal_options, nó cũng được bản địa hóa.


0

I xôngve đã tìm thấy giải pháp này trên: https://premium.wpmudev.org/blog/how-to-simplify-wordpress-profiles-by-removing-personal-options/?ptm=c&utm_apidid=3606929-108.O6f5ypXu9 .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');

Nếu bạn muốn cụ thể hơn hoặc loại bỏ nhiều hơn, bạn nên xem qua tại đây: https://isabelcastillo.com/ leather-personal-opttions-wordpress-admin-profile

Bạn chỉ có thể thêm các dòng đó vào hàm.


Xóa nó bằng Javascript không bao giờ là một cách làm tốt ...
Marcos Buarque
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.