Làm cách nào để xóa thanh quản trị (kiểu dáng) khỏi frontend?


10

Khi đăng nhập, thanh quản trị sẽ thêm phần sau vào <head>phần trang của tôi :

<style media="screen" type="text/css">
    html { margin-top: 28px !important; }
    * html body { margin-top: 28px !important; }
</style>

Bây giờ, tôi có thể loại bỏ điều này bằng cách vô hiệu hóa thanh quản trị

/* Disable the Admin Bar. */
add_filter( 'show_admin_bar', '__return_false' );

hoặc loại bỏ nó hoàn toàn

/* Remove admin bar */
remove_action('init', 'wp_admin_bar_init');

Tôi muốn giữ thanh quản trị trong giao diện quản trị và chỉ xóa CSS khỏi giao diện người dùng.

Tôi đã sử dụng thiết lập lại CSS nơi tôi đặt margin: 0px, nhưng kiểu thanh quản trị viên ghi đè lên điều này.

Vì vậy, làm thế nào tôi có thể loại bỏ các kiểu dáng từ phía trước?

Tái bút Tôi biết tôi có thể vô hiệu hóa thanh quản trị cho mỗi người dùng, nhưng đó không phải là điều tôi muốn.

Câu trả lời:


21
function hide_admin_bar_from_front_end(){
  if (is_blog_admin()) {
    return true;
  }
  return false;
}
add_filter( 'show_admin_bar', 'hide_admin_bar_from_front_end' );

Biên tập:

Như @Walf đã đề xuất trong các bình luận, điều này có thể được viết là:

add_filter('show_admin_bar', 'is_blog_admin');

1
Ah :) Tôi đã thử nghiệm cho quản trị viên khi tôi thử một cái gì đó tương tự. Quên về is_blog_admin. Cảm ơn :)
Steven

Tập tin này thực hiện trong ... Tôi khá mới đối với WP ...

@HiroProtagonist nó có thể được định nghĩa trong bất kỳ plugin nào hoặc trong hàm.php của chủ đề của bạn.
Maxim Krizhanovsky

2
Bạn có thể rút ngắn một chút:add_filter( 'show_admin_bar', function (){ return is_blog_admin() });
MiCc83

1
Bạn có thể rút ngắn nó rất nhiều : add_filter('show_admin_bar', 'is_blog_admin');Tôi đề nghị chỉnh sửa nhưng nó đã bị từ chối. Tôi đoán hai người nhận xét cao-powered thấy nó như là sự thay đổi quá nhiều mà không nhận ra nó là chính xác như vậy.
Walf

5

Nếu bạn muốn xóa thanh quản trị (thanh công cụ) VÀ CSS CSS khỏi trang của bạn, hãy sử dụng:

function wpse_99333_hide_admin_bar_from_front_end(){
  if ( is_blog_admin() ) {
    return true;
  }
  remove_action( 'wp_head', '_admin_bar_bump_cb' );
  return false;
}
add_filter( 'show_admin_bar', 'wpse_99333_hide_admin_bar_from_front_end' );

Các _admin_bar_bump_cbchức năng là một trong đó chèn CSS (nằm trong wp-includes / admin-bar.php)


1

Tôi sẽ làm một cái gì đó như thế này:

Xóa thanh quản trị / CSS trong lớp đầu / cơ thể

show_admin_bar(false);

hoặc nếu bạn chỉ muốn: Xóa htmlCSS top-lề trong<head>

function remove_admin_bar_bump() {
   remove_action('wp_head', '_admin_bar_bump_cb');
}
add_action('get_header', 'remove_admin_bar_bump');

Đã thử nghiệm: Phiên bản 4.7.3


0

Gần đây tôi đã phải làm điều này, tôi chỉ muốn các kiểu css nội tuyến mặc định của wordpress (đối với thanh quản trị) bị xóa, nhưng tôi vẫn muốn thanh quản trị vẫn còn. Tôi đã hiển thị thanh quản trị ở cuối trang, không phải trên cùng.

Đây là những gì đã loại bỏ việc tiêm các kiểu từ hàm _admin_bar_bump_cb cho tôi. Tôi đã thêm vào sau đây vào hàm.php.

// remove wordpress trying to style the admin bar with inline css
function hide_admin_bar_from_front_end(){
  remove_action( 'wp_head', '_admin_bar_bump_cb' );
  return true;
}
add_filter( 'show_admin_bar', 'hide_admin_bar_from_front_end' );
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.