플러그인의 이름을 변경하면 (주 PHP 파일에서) 여전히 업데이트 알림을 받습니까?


17

최근 플러그인의 핵심 파일을 편집해야했습니다. 해당 플러그인의 제목이 업데이트되었음을 ​​나타내도록 업데이트했습니다.

내 질문은 플러그인에 여전히 업데이트 알림이 표시됩니까? 그렇다면 누군가가 내 업데이트를 잊어 버리고 덮어 쓰는 것을 방지하기 위해이 플러그인의 업데이트를 비활성화 할 수 있습니다.

이상적으로는 플러그인이 업데이트를 얻는 지 확인하고 싶지만 업데이트를 클릭하여 업데이트를 수행 할 수는 없습니다. (제거하고 다시 설치해야합니다.)


이 문제에 대해 최근에 WordPress Track : 플러그인 / 테마 디렉토리 백업 에 버그 보고서를 게시했습니다 . 내부 자동 업데이트 기능을 사용하기 전에 간단한 자동 백업을 사용하면 모든 사람이 훨씬 쉽게 작업 할 수 있다고 생각합니다. 자동 업데이트가 처음 릴리스 될 때 이것이 수행되지 않은 이유, 그 동안 수행되지 않은 이유 또는 수행되지 않아야하는 이유는 알 수 없습니다.
Ando

답변:


17

SickHippie가 말하고 AFAIK처럼 둘 다 가질 수는 없습니다. 이 스택에서 수집 한 정보로 답변을 추가하고 있습니다.


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

코멘트에 Bainternet :

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

Hameedullah Khan의 답변 (Akismet 업데이트 알림 제거) :

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

플러그인 업데이트 경고를 유발하는 것

오토의 답변 :

API는 플러그인을 알고있는 플러그인과 비교하기 위해 다소 정교한 메커니즘을 사용하지만 플러그인 URI, 플러그인 이름 및 플러그인 슬러그 (플러그인이있는 디렉토리 이름)를 확인합니다.

그중 하나를 변경하면 일치하는 것을 찾을 가능성이 줄어들지 만 예를 들어 두 가지가 일치하면 여전히 얻을 수 있습니다.

readme.txt의 정보는이 용도로 사용되지 않습니다. 플러그인의 PHP 파일 자체의 헤더가 사용됩니다.


대체 접근법 1


주석에서 뽑아 낸 대체 접근법 2

  • 플러그인 이름, 버전 번호 및 디렉토리 이름 변경
  • 원래 플러그인을 설치하되 업데이트 알림을 받으려면 비활성화 된 상태로 두십시오.
  • 플러그인 설명에 사용자 정의 메시지를 추가하거나 원본을 바꿉니다.
  • 플러그인 작업 (Activate | Edit | Delete) 및 일괄 작업 확인란을 제거합니다.

여기에 이미지 설명을 입력하십시오

add_filter( 'all_plugins', 'wpse_56968_on_list_plugins' );
add_filter( 'plugin_action_links_akismet/akismet.php', 'wpse_56968_remove_plugin_actions', 10, 4 );
add_action( 'admin_head-plugins.php', 'wpse_56968_remove_plugin_checkbox' );

function wpse_56968_on_list_plugins( $plugins )
{
    $plugins['akismet/akismet.php']['Description'] = '<strong>*** NOTICE: PLUGIN ONLY TO CHECK UPDATES IN THE ORIGINAL ONE! ***</strong> ';// . $plugins['akismet/akismet.php']['Description'];
    return $plugins;
}

function wpse_56968_remove_plugin_actions( $actions, $plugin_file, $plugin_data, $context ) 
{
    unset( $actions['activate'], $actions['edit'], $actions['delete'] );
    return $actions; 
}

function wpse_56968_remove_plugin_checkbox()
{
    ?>
        <script type="text/javascript">
            jQuery(document).ready( function($) {
                $('tr#akismet th.check-column').html('&nbsp;')
            });     
        </script>
    <?php
}

관련 코어 티켓


멋진 답변! 플러그인 이름, 버전 번호 및 디렉토리 이름을 변경 한 다음 원래 플러그인을 설치하지만 비활성화 된 상태로두면 업데이트 시점을 확인할 수 있습니다.
Zach Lysobey 2016 년

1
@ZachL-브릴리언트! 잘 작동합니다!
SickHippie 2016 년

2
원래 플러그인 헤더를 수정하고 Description다음과 같은 알림을 추가 할 수도 있습니다 .Description: ONLY FOR REFERENCE, DON'T ACTIVATE!...[rest of the description]
brasofilo

1
@ZachL-이 코멘트를 기반으로 완전한 두 번째 대안을 추가했습니다 :)
brasofilo

3

업데이트를 비활성화 할 수는 없지만 알림을 업데이트 할 수는 없습니다.

알림을 모두 비활성화하려면 플러그인이있는 폴더 이름을 변경하십시오.

내 개인 방법은 기본 plugin.php파일 의 플러그인 제목 앞에 3 a 앞에 붙어 있으므로 플러그인 목록에서을 참조하십시오 AAA/Plugin Name. 참조 목록의 맨 위에 표시하고 플러그인 목록과 업데이트 목록에 표시됩니다. 기본적으로 개인 플래그이므로 특정 플러그인을 자동 업데이트하지 않는 것을 알고 있습니다.


답변 주셔서 감사합니다. 명확히하기 위해 플러그인 이름을 바꾸면 업데이트 알림이 중지되지 않는다고 말하고 있습니까?
Zach Lysobey 2016 년

첫 번째 문장은 ...이 효과를 달성 할 수있는 방법을 찾을 수 있다고 확신합니다. 어쩌면 알림에서 링크를 제거하기 위해 교활한 js를 사용할 수도 있습니다.
Zach Lysobey 2016 년

플러그인의 주 파일 또는 해당 주 파일에서 제목의 이름을 바꾸는 AFAIK는 업데이트 알림을 중지하지 않습니다. 플러그인 저장소가 폴더 이름을 기준으로 가져 오는 것이 확실합니다 (Repo에서 다운로드 한 zip의 이름과 버전 번호가 동일해야 함). 업데이트를 비활성화하려면 플러그인 목록과 업데이트 목록이 있으므로 JS가 두 위치에서 실행되는지 확인하십시오 (또한 JS 공유-유용 할 수 있음).
SickHippie 2016 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.