개인 플러그인 업데이트?


117

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

기능을 캡슐화하고 싶지만 내 5 개 정도의 블로그에만 적용되므로 공용 플러그인 리소스에 적합하지 않습니다. 그러나 나는 쉽게 업데이트되는 메커니즘을 좋아합니다.

이 방법이 있습니까?


나는 이것이 wp-hackers 메일 링리스트에서 필터링 가능한 옵션으로 논의되었다고 생각합니다. IIRC는 해결되지 않았습니다. 내가 생각하는 관련 토론이 스레드에 있었다 : lists.automattic.com/pipermail/wp-hackers/2009-February/... ...하지만 내가 잘못 될 수 있습니다.
ZaMoose

자체 솔루션을 롤링하지 않으려면 kernl.us 를 사용 하여 호스팅 된 플러그인 업데이트를 수행 할 수 있습니다 .
잭 슬링거 랜드

답변:


48

해당 코드는 다음 wp-includes/update.phpwp_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. 이 두 기능의 코드가 주어지면 자신의 업데이트 서버를 주입 할 수 있다고 생각합니다. 패키지 세부 정보의 형식을 지정하고 일치시키는 방법 만 살펴보십시오.


42

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

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

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

GitHub 리포지토리


2
당신은 또한 당신의 측면에서 플러그인을 관리하고 싶을 것입니다 ... 아마도 wp-update-server같은 저자가 작성한 패키지로 ); github.com/YahnisElsts/wp-update-server 이 서버를 사용하면 다음과 같이 플러그인을 보호 할 수 있습니다 설명 : w-shadow.com/blog/2013/03/19/…
SimonSimCity

무료 플러그인에서 워드 프레스 기본 업데이트 검사기를 비활성화하려면 어떻게해야합니까?
csandreas1

해당 웹 사이트는 구식으로 보이지만 프로젝트는 매우 적극적으로 지원되며 개인 Bitbucket / Github 저장소와 함께 작동합니다! 사용 가능한 다양한 통합에 대한 자세한 내용은 Github 저장소를 참조하십시오. github.com/YahnisElsts/plugin-update-checker
Mr. Me

10

무료를 좋아하고 GitHub, GitLab 또는 BitBucket과 같은 것을 사용하려면이 품질을 지원하는 플러그인입니다 (개인 및 기업 지원).

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


1
와! 잘 지원되고 성숙한 프로젝트처럼 보입니다!
Armstrongest

1
다른 플러그인에 의존하는 것은 그리 깨끗한 해결책이 아닙니다.
kontur

2
@kontur 매우 사실이지만, 이것이 오픈 소스이고 지속적으로 업데이트되는 것처럼 프레임 워크로 사용하거나 직접 빌드하는 코드 예제로 사용할 수 있습니다.
sMyles


1

WordPress Development Kit 플러그인 을 확인하십시오 . 최근에 독점 업데이트 시스템을이 플러그인으로 마이그레이션했습니다. 플러그인은 이제 프리미엄 플러그인 업데이트를위한 백엔드 프로세서 역할을합니다.

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

플러그인을 사용하면 플러그인 버전을 나열 할 수 있으며 공개, 비밀번호로 보호 또는 구독으로 보호 된 페이지의 파일에 대한 다운로드를 제공 할 수도 있습니다. 온 페이지 버전 목록 의 예는 여기에서 볼 수 있습니다 .

프리미엄 부가 기능, 현재 버전 목록 및 프리미어 구독 보유자에 대한 다운로드 목록에 대한 변경 로그를 게시하는 데 몇 달 동안 플러그인을 사용했습니다. 이제 0.7.01 버전에서는 인라인 WordPress 업데이트를위한 쿼리 대상으로 작동합니다.

도움이 되길 바랍니다.


1

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


이것은 실행 가능한 것 같습니다.
kontur

-1

이 상용 플러그인을 사용할 수 있습니다 : http://autohosted.com/ 제한 없음. 필요한 몇 가지 다른 기능이 있습니다.

  • 월간 청구 없음
  • 무제한 사용
  • 테마 및 플러그인과의 쉬운 통합
  • 도메인, 키 및 역할 별 인증

1
새 가입이 마감되었습니다 ...
Cliff P
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.