워드 프레스 에서 플러그 인 설치 및 숨겨 진 플러그 인의 기능 실현 을 알 립 니 다.

사용자 에 게 현재 테마 에 필요 한 플러그 인 을 알려 줍 니 다.
많은 테 마 는 플러그 인의 지원 이 필요 합 니 다.이 때 는 사용자 에 게 설치 해 야 할 플러그 인 을 알려 야 합 니 다.본 고 는 배경 에 눈 에 띄 는 위치 에서 현재 테마 가 설치 해 야 할 플러그 인 을 알려 줄 것 입 니 다.
최종 효 과 는 다음 그림 과 유사 합 니 다:
20151225150448456.png (669×279)
adminnotices 갈고리,배경 제목 아래 에 경고 상 자 를 출력 하고 isplugin_active()함수 가 플러그 인 을 사용 할 지 여 부 를 판단 하면 됩 니 다.

/**
  *WordPress              
  *http://www.endskin.com/plugins-messages/
*/
function Bing_plugins_messages(){
  $plugin_messages = array();
  include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
 
  //     WordPress SEO   
  if( !is_plugin_active( 'wordpress-seo/-seo.php' ) ) $plugin_messages[] = '              WordPress SEO   ,<a href="http://wordpress.org/plugins/wordpress-seo/" target="_blank">       </a>';
 
  //     Simple URLs   
  if( !is_plugin_active( 'simple-urls/plugin.php' ) ) $plugin_messages[] = '              Simple URLs   ,<a href="http://wordpress.org/plugins/simple-urls/" target="_blank">       </a>';
 
  //     Bing Phone   
  if( !is_plugin_active( 'Bing-Phone/Bing-Phone.php' ) ) $plugin_messages[] = '              Bing-Phone   ,<a href="http://www.bgbk.org/wp-theme-bing-phone.html" target="_blank">       </a>';
 
  if( count( $plugin_messages ) > 0 ){
    echo '<div id="message" class="error">';
      foreach( $plugin_messages as $message ) echo '<p><strong>' . $message . '</strong></p>';
    echo '</div>';
  }
}
add_action( 'admin_notices', 'Bing_plugins_messages' );

플러그 인 목록 에 일부 플러그 인 숨 기기
고객 에 게 워드 프레스 사 이 트 를 개발 할 때 보통 고객 에 게 관리자 계 정 을 주기 때문에 고객 은 사이트 의 주제,플러그 인,사용자 와 일부 관건 적 인 설정 을 수정 할 능력 이 있다.
그러나 어떤 때 는 사용자 가 실수 로 필요 한 플러그 인 을 사용 하지 않 을 때 가 있 습 니 다.이러한 상황 에 따라 우 리 는 일부 플러그 인 을 플러그 인 목록 에 숨 길 수 있 지만 실제 플러그 인 은 정상적으로 실행 되 고 있 습 니 다.
아래 코드 는 플러그 인 목록 에 WP Crontrol 과 User Switching 두 개의 플러그 인 을 숨 겼 습 니 다.플러그 인 을 사용 하지 않 을 때 도 플러그 인 을 볼 수 있 습 니 다.플러그 인 을 사용 할 때 만 플러그 인 이 목록 에서 숨겨 집 니 다.

/**
  *WordPress            
  *http://www.endskin.com/hide-plugins/
*/
function Bing_hide_plugins( $plugins ){
 
  //   WP Crontrol   
  $plugin = 'wp-crontrol/wp-crontrol.php';
  if( is_plugin_active( $plugin ) ) unset( $plugins[$plugin] );
 
  //   User Switching   
  $plugin = 'user-switching/user-switching.php';
  if( is_plugin_active( $plugin ) ) unset( $plugins[$plugin] );
 
  return $plugins;
}
add_filter( 'all_plugins', 'Bing_hide_plugins' );

좋은 웹페이지 즐겨찾기