프론트 엔드에서만 관리 막대 (스타일)를 제거하려면 어떻게합니까?


10

로그인하면 관리자 표시 줄이 내 페이지 <head>섹션에 다음을 추가합니다 .

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

이제 관리자 표시 줄을 비활성화하여 이것을 제거 할 수 있습니다

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

또는 완전히 제거

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

관리 인터페이스를 관리 인터페이스에 유지하고 프론트 엔드에서만 CSS를 제거하고 싶습니다.

나는 내가 설정 한 CSS 재설정을 이미 사용 margin: 0px하고 있지만 관리 막대 스타일은 이것을 재정의합니다.

프런트 엔드에서 스타일을 어떻게 제거 할 수 있습니까?

추신. 사용자 당 관리자 표시 줄을 비활성화 할 수는 있지만 원하는 것은 아닙니다.

답변:


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

편집하다:

@Walf가 의견에서 제안했듯이 이것은 다음과 같이 쓸 수 있습니다.

add_filter('show_admin_bar', 'is_blog_admin');

1
아 :) 비슷한 것을 시도했을 때 관리자를 테스트하고있었습니다. 에 대해 잊어 버렸습니다 is_blog_admin. 감사합니다 :)
Steven

이 파일은 어떤 파일에 들어가

@HiroProtagonist 그것은 모든 플러그인 또는 테마의 functions.php에서 정의 할 수 있습니다.
Maxim Krizhanovsky

2
당신은 그것을 조금 단축 할 수 있습니다 :add_filter( 'show_admin_bar', function (){ return is_blog_admin() });
MiCc83

1
당신은 그것을 많이 줄일 수 있습니다 : add_filter('show_admin_bar', 'is_blog_admin');편집을 제안했지만 거부되었습니다. 나는 두 명의 고출력 검토자가 그것이 똑같은 것을 깨닫지 않고 너무 많은 변화를 보았다고 생각합니다 .
Walf

5

페이지에서 관리 막대 (도구 모음)와 범프 CSS를 제거하려면 다음을 사용하십시오.

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

_admin_bar_bump_cb함수는 CSS를 삽입하는 기능입니다 (wp-includes / admin-bar.php에 있음)


1

나는 이런 식으로 할 것입니다 :

헤드 / 바디 클래스에서 관리자 막대 / CSS 제거

show_admin_bar(false);

또는 원하는 경우 :에서 margin-top CSS를 제거하십시오 html.<head>

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

테스트 : 버전 4.7.3


0

최근 에이 작업을 수행해야했는데 wordpress의 기본 인라인 CSS 스타일 (관리자 막대)을 제거하고 싶지만 관리 막대를 유지하고 싶었습니다. 상단이 아닌 페이지 하단에 관리 표시 줄을 표시했습니다.

다음은 _admin_bar_bump_cb 함수에서 스타일을 주입하여 제거 한 것입니다. 함수에 다음을 추가했습니다.

// 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' );
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.