개별 플러그인에 대한 업데이트 알림 비활성화


49

특정 플러그인에 대한 업데이트 알림을 비활성화하는 방법이 있습니까?

플러그인 개발자는 테스트를 위해 svn 트렁크 버전을 사용하여 개인 사이트에 플러그인을 설치했지만 플러그인 사이트에서 동일한 플러그인을 사용할 수 있습니다. 이 경우 WP는 최신 버전을 가장 최근에 게시 된 버전으로 간주하고 업데이트가 있음을 지속적으로 경고합니다.

여전히 다른 플러그인의 업데이트에 대한 알림을보고 싶지만 Updates (2)헤더 의 알림 을 지속적으로 무시하는 것이 좋습니다 !


플러그인 파일을 열고 버전 번호를 9.9.9와 같이 변경하십시오.
Bainternet

죄송하지만 @Bainternet이지만 사이트가 svn-checkout이고 플러그인이 svn:external플러그인 개발 코드에 대한 참조 에서 제공되기 때문에 너무 해킹되었을 것 입니다. 프로덕션 서버에서 로컬로 수정 된 파일을 갖는 것은 옵션이 아닙니다. Hameedullah의 필터 는 사이트의 코드 저장소에 저장되기 때문에 작동합니다.
Caleb

그래 난 svn에서 실행되는 사이트에 대한 부분을 그리워
Bainternet

WordPress.org에서 Websiteguy의 Updates Manager 비활성화 플러그인을 사용할 수도 있습니다 .
matthew

답변:


67

예를 들어 Wordpress에서 아키 멧에 대한 업데이트 알림을 표시하지 않게하려면 다음과 같이하십시오.

function filter_plugin_updates( $value ) {
    unset( $value->response['akismet/akismet.php'] );
    return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );

1
의 끝에 ./wp-config.php플러그인 파일 경로를 바꾸고 작업을 수행했습니다.
Caleb

6
가능하지 않으면 테마의 functions.php에 넣을 수 있으며 별도의 플러그인 파일을 넣을 수 있습니다. 내 생각에 이것을 wp-config.php에 넣는 것은 좋은 생각이 아닙니다.
Hameedullah Khan

1
나는 내 기능이 테마에 묶여 있기를 원하지 않으며 플러그인을 추가하는 것은 내가 가진 플러그인을 해킹하는 것만큼이나 해킹처럼 보입니다. 왜 wp-config.php가 사이트 특정 구성 해킹을하기에 좋은 장소가 아니라고 생각하는지 설명 할 수 있습니까?
Caleb

functions.php에서 잘 작동하는 매우 좋은 솔루션입니다. 간단하게 다른 unset ()을 추가하여 목록에 더 많은 플러그인을 추가하는 것은 쉽습니다. ... 좋은 팁 Hameedullah ..
Lars Koudal

2
@Caleb과 동일한 설명이있는 사용자의 경우, wp-content 폴더에 이름이 다음 mu-plugins과 같은 새 폴더 를 작성하고 삽입 할 작은 플러그인을 작성하십시오. 위에서 언급 한 것처럼 일부를 추가하는 wp-config.php것은 절대적으로 잘못된 장소입니다.
Charles Charles

30

Hameedullah Khan의 답변에 PHP 경고가 표시됩니다. 이 if 절을 포함시켜 해당 플러그인에 대한 응답을 설정 해제하기 전에 객체인지 확인하십시오.

'경고 : 비 객체의 속성 수정 시도'

경고 (플러그인 파일 자체의 코드)를 피하려면 다음을 시도하십시오.

// remove update notice for forked plugins
function remove_update_notifications($value) {

    if ( isset( $value ) && is_object( $value ) ) {
        unset( $value->response[ plugin_basename(__FILE__) ] );
    }

    return $value;
}
add_filter( 'site_transient_update_plugins', 'remove_update_notifications' );

나는 이것을 실제 플러그인에 넣고 싶다. 코드를 편집하거나 포크하여 업데이트에서 편집 내용을 잃고 싶지 않기 때문에 플러그인에서 업데이트를 비활성화 한 적이 있기 때문에 이미 플러그인을 편집 했으므로 더 편집하지 않아도됩니다. 내 기능 파일을 좀 더 깨끗하게 유지합니다. 그러나 함수 파일에 저장하고 해당 메소드의 이점을 얻으려면 해당 플러그인에 대해 설정되지 않은 다른 행을 추가하여 업데이트에서 여러 플러그인을 제거 할 수 있습니다 (functions.php의 코드).

// remove update notice for forked plugins
function remove_update_notifications( $value ) {

    if ( isset( $value ) && is_object( $value ) ) {
        unset( $value->response[ 'hello.php' ] );
        unset( $value->response[ 'akismet/akismet.php' ] );
    }

    return $value;
}
add_filter( 'site_transient_update_plugins', 'remove_update_notifications' );

이것에 대한 Thx. 플러그인 내에서 직접이 코드를 사용하는 데 문제가 있었지만 플러그인이 하나 인 경우에는 괜찮은 것처럼 보였지만 다른 플러그인 (diff func 이름)과 함께하자마자 모든 플러그인에 대한 알림과 wp-repo 플러그인에 대한 "세부 정보보기"링크를 잃어 버렸습니다. 사라졌다. 확인을 사용하지만 내 테마의 functions.php에 배치하면 다른 플러그인에 대한 업데이트 알림의 간섭없이 더 안정적입니다. 마지막으로, 플러그인에 있지 않으면 플러그인을 작동시키기 위해 플러그인을 활성화 할 필요가 없다는 이점이 있습니다. 이 코드로 플러그인을 비활성화하면 업데이트 알림이 다시 나타납니다.
필립 잉그램

2

코드로 모든 업데이트 알림 비활성화

function remove_core_updates(){
        global $wp_version;return(object) array('last_checked'=> time(),'version_checked'=> $wp_version,);
    }
    add_filter('pre_site_transient_update_core','remove_core_updates');
    add_filter('pre_site_transient_update_plugins','remove_core_updates');
    add_filter('pre_site_transient_update_themes','remove_core_updates');

코드는 WordPress 코어, 플러그인 및 테마에 대한 업데이트 알림을 비활성화합니다.


"개별 플러그인"이 핵심입니다
Gangesh

@Gangesh, 그는 특정 플러그인의 알림을 비활성화하고 싶다고 생각합니다.
Super Model
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.