2014-05-13 1 views
1

Github에이 레포가 있습니다 - https://github.com/ronakg/awesome-flickr-gallery-plugin. Flickr에 저장된 사진에서 사진 갤러리를 만들기위한 WordPress 플러그인입니다.태그 이름이없는 Github에 릴리스 zip 파일을 만듭니다.

이제 플러그인을위한 새로운 릴리스 zip을 만들 때 태그 이름을 사용해서는 안됩니다.

예를 들어, 릴리스 3.5.0 및 3.6.0을 작성합니다. 두 릴리스의 폴더 구조는 동일해야합니다.

awesome-flickr-gallery-plugin 
    /index.php 
    /README.txt 
    . 
    . 

는 지금은이 같은 릴리스 zipfiles를 만듭니다

awesome-flickr-gallery-plugin-3.5.0 
    /index.php 
    /README.txt 
    . 
    . 

내 사용자를위한 워드 프레스 플러그인 업데이트로 직접 zip 파일을 제공하기 위해 원하는대로이 나를 위해 중요하다. 이 다른 파일 구조는 WordPress의 플러그인 업데이트 프로세스를 중단시킵니다.

아이디어가 있으십니까?

답변

2

접두어가 -mastera similar problem에 직면하고 다음 필터 upgrader_source_selection으로 해결했습니다. 저의 저장소는 github-plugin-for-wordpress입니다. 직접 조정하십시오.

/** 
* Access this plugin’s working instance 
* 
* @wp-hook plugins_loaded 
* @return object of this class 
*/ 
public function plugin_setup() 
{ 
    add_filter('upgrader_source_selection', array($this, 'rename_github_zip'), 1, 3); 
} 

/** 
* Removes the prefix "-master" when updating from GitHub zip files 
* 
* See: https://github.com/YahnisElsts/plugin-update-checker/issues/1 
* 
* @param string $source 
* @param string $remote_source 
* @param object $thiz 
* @return string 
*/ 
public function rename_github_zip($source, $remote_source, $thiz) 
{ 
    if( strpos($source, 'github-plugin-for-wordpress') === false) 
     return $source; 

    $path_parts = pathinfo($source); 
    $newsource = trailingslashit($path_parts['dirname']) . trailingslashit('github-plugin-for-wordpress'); 
    rename($source, $newsource); 
    return $newsource; 
} 
+0

zip 파일 이름에 문제가 없으며 WordPress에서 완벽하게 처리합니다. 문제는 압축 해제 된 디렉토리에서 추출한 후에 생성되는 것입니다. 나는 항상 awesome-flickr-gallery-plugin을 만들고 끝에 태그 이름을 포함시키지 않기를 바란다. – ronakg

+0

이 코드는 정확히이 작업을 수행합니다. IIRC는 zip 파일이 임시 "wp-content/upgrade"폴더에 접미사와 함께 도착하므로 접미어로 압축됩니다. – brasofilo

+0

항상 마스터에서 우편 번호를 작성하기 때문에 귀하의 경우에 적용됩니다. 태그 이름에서 릴리스 zip을 만들고 싶습니다. 그래서 무슨 일이 벌어지면 zip이 압축되면 새로운 플러그인으로 나타납니다. 이전 플러그인 인스턴스는 비활성화되고 제거되고 사용자는 업데이트 된 플러그인을 다시 활성화해야합니다. – ronakg

관련 문제