테마에 대한 업데이트 알림 기능 만들기


17

질문은 간단합니다 :) 많은 사이트에서 사용할 테마를 만들고 있습니다. 따라서 버그를 수정하거나 테마 업그레이드를 수행 할 때마다 모든 사이트를 방문하고 파일을 ftp하고 싶지 않습니다.

워드 프레스 플러그인 디렉토리에 호스팅 된 플러그인과 같은 업데이트 시스템을 만들 수있는 방법이 있습니까?

답변을 기대합니다. 감사!

해결 :

그의 훌륭한 연결에 대해 Chip Bennett에게 감사드립니다. 해당 사이트에서 테마의 업데이트 라이브러리를 사용할 수 있습니다. 여기에서 찾을 수 있습니다 : http://w-shadow.com/blog/2011/06/02/automatic-updates-for-commercial-themes/

무료로 제공되는 훌륭한 작품을 보게되면 항상 기부를 고려하십시오.


플러그인 업데이트 검사기를 사용하십시오! 플러그인과 테마 모두에서 작동합니다. github.com/YahnisElsts/plugin-update-checker
트랜스 베타 시즘

답변:


9

핵심 업데이트 루틴에 연결할 수도 있습니다. (자습서 링크를 찾고 있지만 오늘 아침에 Google-fu가 실패합니다.)

편집하다:

이 튜토리얼이 도움이되는지 확인하십시오 . 개인 / 상업용 (즉, 리포지토리 호스팅되지 않은) 플러그인에 대한 자동 업그레이드를 구현하는 방법을 설명합니다.


1
나는 그것이 생각pre_set_site_transient_update_plugins
Wyck

감사! 나는 당신을 링크로 연결하고 플러그인 코드가 작동하지 않았지만 며칠 후에 테마를 위해 라이브러리를 수정하기 위해 녀석을 요청합니다. 그리고 지금은 잘 작동합니다! 내 질문에 링크를 넣을 것입니다. 감사!!
Sisir

1
같은 사이트에서 테마를 자동으로 업그레이드하기위한 튜토리얼은 다음과 같습니다. w-shadow.com/blog/2011/06/02/…
Jaroslav Klimčík

pre_set_site_transient_update_plugins기본 사이트에서 활성화 된 테마 만 실행합니다. 다른 모든 사용자 정의 테마 업데이트는 다중 사이트이고 다른 사이트에서 다른 사용자 정의 테마를 활성화하더라도 확인되지 않습니다.
vee

3

관심있는 질문! 사실, 업데이트 확인 서비스를 만들어야한다고 생각합니다! yourdomain.comn / api / update-check와 같은! 그런 다음 XML 또는 JSON 또는 업데이트 파일의 URL (업데이트 된 파일은 zip 파일이어야 함)과 같은 업데이트와 관련된 유용한 정보를 반환 할 수 있습니다!

당신의 주제에서 당신은 할 수 있습니다 :

    <?php define('OWN_THEME_VERSION', '1.1');

따라서 위의 URL (yourdomain.comn / api / update-check)에서 업데이트를 감지하면 다음과 같이 JSO 데이터를 반환한다고 가정합니다. { "version": "1.2", "file": "theme.zip"}

새 업데이트를 확인하기 위해 버전을 비교합니다! 그런 다음 http://codex.wordpress.org/Function_Reference/switch_theme 함수를 사용하여 기본 테마로 전환 하십시오 (사용자가 사이트에 액세스 할 때 워킹 사이트가 표시됨)! 다음으로, 코드는 curl 또는 file_get_contents를 사용하여 zip 파일 (이 경우 theme.zip)을 다운로드 할 수 있습니다! 다음으로, 테마 폴더에있는의 모든 파일을 삭제 한 다음 zip 파일을 익스텐트하고 그 내용을 테마 폴더에 복사하십시오! 나는 이것이 작동해야한다고 생각합니다!

WordPress의 기능을 살펴볼 수 있습니다! 파일 wp-admin / includes / update-core.php, 288 행, update_core 함수에 있습니다.


3
기본적으로이 대신 file_get 컬을 사용하거나의 워드 프레스 HTTP API 사용 codex.wordpress.org/HTTP_API
Wyck

멋진 Wyck, 나는 그것을 몰랐다;)!
kureikain

1
마침내 이것에 대한 reserch를 시작할 시간이 생겼습니다! 테마의 현재 버전에서는이 함수 codex.wordpress.org/Function_Reference/get_theme_data를 사용할 수 있습니다 . 지시 한 접근 방식으로 작업을 시작합니다.
Sisir
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.