it-swarm-ko.tech

비공개 플러그인 업데이트?

개인 플러그인을 작성하는 경우 WordPress 자동 업데이트 메커니즘을 사용하여 업데이트하는 방법이 있습니까?

나는 기능을 캡슐화하고 싶지만 내 자신의 5 개 정도의 블로그에만 해당하므로 공개 플러그인 리소스에 대한 좋은 후보는 아닙니다. 그러나 나는 쉬운 업데이트 메커니즘을 좋아합니다.

이것을 할 수있는 방법이 있습니까?

112
artlung

해당 코드가 wp-includes/update.php, wp_update_plugins()에있는 것 같습니다.

$to_send = (object) compact('plugins', 'active');

$options = array(
    'timeout' => ( ( defined('DOING_CRON') && DOING_CRON ) ? 30 : 3), 
    'body' => array( 'plugins' => serialize( $to_send ) ),
    'user-agent' => 'WordPress/' . $wp_version . '; ' . get_bloginfo( 'url' )
);  

$raw_response = wp_remote_post('http://api.wordpress.org/plugins/update-check/1.0/', $options);

구체적으로 api.wordpress.org를 확인합니다. 엄밀히 말하면 $to_send 내부에 키를 전달하여 수표를 위임 할 수는 있지만 지원되는 기능이 아님을인지해야합니다.

set_site_transient_update_plugins에 연결하면이 패키지에 패키지 정보를 추가 할 수 있습니다. 플러그인 업데이터를 실행할 때 그 값이 신뢰 될 것 같습니다. wp-admin/update.phpwp-admin/includes/class-wp-upgrader.php를 참조하십시오. 이 두 함수의 코드를 감안할 때, 자신의 업데이트 서버를 삽입하는 것이 가능할 것이라고 생각합니다. 패키지 세부 정보의 서식을 확인하고 일치시켜야합니다.

45
Annika Backstrom

이 플러그인은 당신을 위해 그것을한다 :

개인 및 상업용 플러그인 자동 업데이트

예전부터 공식 WordPress.org 플러그인 디렉토리에서 호스팅되는 플러그인 만 자동 업데이트를 지원했습니다. 이제는 플러그인에 자동 업데이트 기능을 추가하는 데 사용할 수있는 PHP 라이브러리를 작성했습니다. 공개, 비공개 및 상용 플러그인 모두가 이제 자동 업데이트 알림 및 원 클릭 업그레이드의 이점을 누릴 수 있습니다.

GitHub 저장소

40
agileapricot

무료입니다 ... GitHub, GitLab 또는 BitBucket과 같은 것을 사용하려는 경우,이 플러그인은 처리하기에 좋은 품질의 플러그인입니다 (개인 및 기업 지원).

https://github.com/afragen/github-updater

9
sMyles

나는 똑같은 것을 조사하고있다. 내가 찾은 몇 가지 링크가 도움이 될 것입니다.

첫 번째는 업그레이드 API에 대한 정보와 포인터입니다. 두 번째는 실제로 API에서 정보를 요청하는 방법을 보여주는 코드 스 니펫입니다.

8
Dougal Campbell

WordPress Development Kit 플러그인 을 확인하고 싶을 수 있습니다. 최근에 내 독점 업데이트 시스템을이 플러그인으로 마이그레이션했습니다. 이제 플러그인이 프리미엄 플러그인 업데이트를위한 백엔드 프로세서로 사용됩니다.

위의 agileapricot에서 제공하는 솔루션과 비슷합니다. 그것은 WordPress 사이트에 표준 플러그인으로 설치됩니다. 프리미엄 .Zip 파일과 plugins.json을 서버의 프로덕션 또는 시험판 디렉토리 (플러그인 설정에서 지정)에 호스팅합니다.

플러그인을 사용하면 플러그인 버전을 나열 할 수 있으며 공개, 암호로 보호되거나 구독이 보호 된 페이지에서도 파일을 다운로드 할 수 있습니다. on - page 버전 목록의 예는 여기에서 볼 수 있습니다 .

저는 프리미엄 추가 기능, 최신 버전 목록 및 프리미어 구독자를위한 다운로드 목록에 대한 변경 로그를 게시하는 데 수개월 동안 플러그인을 사용하고 있습니다. 이제 버전 0.7.01에서 인라인 WordPress 업데이트의 쿼리 대상으로 작동합니다.

여러분 중 일부는 유용하다고 생각하기를 바랍니다.

1
Lance Cleveland

관리 할 필요가없는 호스팅 솔루션을 원한다면 Kernl ( https://kernl.us )을 확인하십시오. 플러그인 업데이트를위한 인프라를 제공하고 자신의 플러그인에 쉽게 통합 할 수있는 서비스입니다.

1
Jack Slingerland