WordPress 개발에 어떤 프로세스를 사용하십니까? [닫은]


38

다른 사람들이 WordPress 용 테마와 플러그인을 개발하는 방법에 관심이 있습니다. 나에게 관리자 패널의 브라우저 내 편집기는 잘라 내지 않습니다. 현재 PHP 플러그인 (NetBeans)과 함께 IDE를 사용하고 있으며 서버에서 개발 웹 디렉토리를 풀다운하고 편집하고 테스트를 진행 한 다음 마이그레이션을 진행합니다.

다른 사람들이 선택한 도구를 사용하여 테마, 플러그인을 개발, 테스트 및 배포하고 최신 버전의 WordPress를 테스트하기 위해 워크 플로를 관리하기 위해 선택한 도구를 사용하는 방법을 찾고 있습니다.

다른 사람들이 개발 과정을 공유 할 수 있도록 이것을 커뮤니티 위키로 만들었습니다. 나는 여기서 단 하나의 정답을 찾을 것으로 기대하지 않습니다. 귀하의 프로세스는 귀하의 프로세스이며, 당신이 나 자신이나 다른 사람을 위해 일하기 위해 무엇을할지는 기대하지 않습니다. 다른 사람들에게 효과가 있거나 효과가없는 것을보고 플러그인과 테마를 개발할 수있는 능력을 향상시키는 데 관심이 있습니다.

여기서 또 다른 질문 은 WordPress 개발을 지원하기위한 특정 소프트웨어 도구를 설명합니다 . 여기서는 특정 툴 제품군에서만 수행 될 수있는 특정 작업을 제외하고 툴과 독립적으로 적용 할 수있는 더 많은 프로세스와 방법론을 찾고 있습니다.


아마도 당신은. 비슷한 질문이 이미 이루어졌습니다 : wordpress.stackexchange.com/questions/324/…
Tal Galili

답변:


20

기록 상으로는 주로 전체 웹 사이트와 플러그인을 만들어 배포합니다. 내 워크 플로는 매우 Ruby 및 git-heavy입니다.

새로운 프로젝트를 시작하기 위해 새로운 vhost를 설정하고 svPress를 추적하는 자체 자식 저장소에서 WordPress의 최신 태그를 확인하는 전체 비즈니스를 처리하는 쉘 스크립트가 있습니다.

전체 웹 사이트의 기본 형태는 wp-content의 git repsotory입니다. 여기에는 Capfile (capistrano의 Makefile eqiuivalent)과 YAML 구성 파일이 포함되어있어 배포를 담당합니다 ( http://github.com/dxw/wp-capistrano ). 또한 그 저장소 내에서 테마와 플러그인을 git 하위 모듈로 추가합니다 (예, 우리는 타사 플러그인에 대한 git 저장소도 유지합니다-우리는 개인적으로 테스트 한 최신 버전을 사용하고 싶습니다).

테마로는 코드 생성 도구 / 프레임 워크 ( github.com/dxw/wp-generate )가 있습니다. 코드가 어디로 가야하는지에 대한 생각이 적다는 것을 의미하며 뷰와 모델 / 컨트롤러 사이의 자연스러운 분리 방법이 있습니다.

플러그인을 작성할 때 cucumber / webrat를 사용하여 테스트 중심 개발을 수행합니다 ( github.com/dxw/cucumber-wordpress ).

개발 데이터베이스를 프로덕션으로 마이그레이션하는 경우 일반적으로 덤프를 복사하는 경우입니다 (WP_SITEURL 및 WP_HOME은 준비 / 생산 시스템에서 capistrano에 의해 설정되므로 검색 / 바꾸지 않음).

이 스크립트로 몇 시간을 절약했는지 상상할 수 없습니다.


링크 주셔서 감사합니다. 그러나 프로덕션 데이터베이스의 내용을 잃을 수없는 상황이 있습니까? 직접로드 할 테이블을 선택하는 것 외에는 작동하는 방법을 찾지 못했지만 메뉴 항목을 다시 실행해야합니다.
Daniel C. Sobral

6

@Thomas Owens 이 질문은 " WordPress 테마 / 플러그인 용 소프트웨어? "라는 질문과 다소 중복되고 중복 됩니다. 닫을 지 확실하지 않지만 약간 다른 초점 인 것 같습니다. 그래서...

맥 OS X

Max OS X의 필수 툴 세트 는 다음과 같습니다 . (항상 더 좋아집니다.) 참고 NetBeans를 사용 해보고 포기했습니다. 너무 느리고 기능이 너무 적습니다.

윈도우 비스타

Windows Vista를 사용 했을 때 필수 툴셋 은 다음과 같습니다.

도메인 전환을위한 코드 배포 / 데이터 마이그레이션

이것이 정확히 찾고 있는지 확실하지 않지만 로컬 dev 서버, 테스트 서버 및 배포 서버 간의 마이그레이션을 용이하게하는 플러그인을 개발합니다. 나는 여기에 썼습니다 :

도움이 되었기를 바랍니다

-마이크


5

이것은 IDE 또는 플러그인에 국한되지 않은 워크 플로 답변입니다.

플러그인 개발에 정말 효과적인 솔루션은 하위 폴더에 설치된 각 워드 프레스 변형이있는 로컬 아파치 웹 서버로 시작하는 것입니다.

로컬 서버 루트 외부의 별도 위치에 워드 프레스 플러그인 / 테마 작업 복사본을 저장하십시오. 각 워드 프레스 변형의 / wp-content / plugins 폴더에 적절한 트렁크 / 태그 / 분기에 대한 심볼릭 링크를 만듭니다.

IDE에서 플러그인을 편집 할 때 변경 한 내용은 각 워드 프레스 설치에 분명히 표시되므로 여러 워드 프레스 변형을 쉽게 테스트 할 수 있습니다.

기본적으로 각 로컬 워드 프레스 변형에 대해 브라우저 탭을 열고 단일 프로젝트와 단일 파일 기반으로 작업하는 동안 각각을 테스트 할 수 있습니다.

SVN 및 FTP를 지원하는 IDE를 사용하면 작업 사본을 편집하고 변경 사항을 다시 저장소에 커밋 할 수 있습니다.

IDE Coda는 나를 위해 그것을하지만 NetBeans와 Eclipse도 좋아합니다.

플러그인이 작동하고 저장소에 변경 사항을 적용한 후에는 wordpress 프로젝트를 열고 변경된 플러그인을 라이브 사이트에 직접 게시 할 수 있습니다.


3

~ 2.5 년 전 현재 직장을 시작한 이후로 진화 된 비교적 복잡한 설정이 있습니다.

개발 중

GNU screen 내부에서 Vim을 사용하여 SSH를 통해 모든 개발을 수행합니다 . Vim 플러그인은 다음과 같습니다.

수직 분할 및 :set hidden필수입니다. 또한 railscasts 색 구성표가 있는 256 색 터미널 ( Mac OS X의 iTerm) 을 선호합니다 .

또한 필요에 맞게 dBug 를 천천히 수정 했습니다 . 변수가 배열 또는 객체라는 것을 알았을 때 print_r()와 좋은 교체 var_dump().

배포

현재 많은 공용 플러그인 / 테마에서 작업하지 않으므로 여러 버전의 WordPress와의 플러그인 호환성을 테스트하지 않습니다. 개발자 서버에서 코드를 작성하고 Subversion을 통해 해당 코드를 프로덕션으로 옮깁니다.


xdebug를 사용하여 아주 좋은 var_dump를 얻을 수 있습니다. xdebug stack traces는 어떤 파라미터가 함수에 전달되는지 알려줍니다 (매우 도움이됩니다)
Taras Mankovski

3

워드 프레스 테마 개발 프로세스

  • Mock Flow 와이어 프레임을 기본 XHTML 및 CSS로 변환

  • XHTML을 master.php 템플릿 파일에 연결하고 템플릿 태그 및 WP 함수로 변환

  • master.php를 다양한 템플릿 파일 (예 : header.php, index.php, sidebar.php 및 footer.php)로 나눕니다.

  • 필요할 수있는 사용자 지정 쿼리 및 함수 작성

  • CSS 레이아웃을 연결하고 레이아웃 div {outline:1px solid red;}을 조정하는 데 도움이되도록 추가 하십시오 4.

  • 테스트 및 추가 개발을 위해 테마 폴더를 WordPress에 업로드

워드 프레스 개발 툴

  • FTP가 내장 된 Aptana Studio WorkPlace 코드 편집기

  • 퍼티

  • 하나의 브라우저에서 열려 있고 다른 하나의 코드 편집기에서 듀얼 1920 x 1200 모니터

  • Wacom Intuis 4 태블릿

  • Yslow 및 Google Page 속도의 Firebug


3

내 작업 과정은 매우 간단합니다. 나는 4 가지 환경을 유지합니다. 테스트, 개발, 준비 및 생산.

워크 플로우

개정 관리에 git을 사용합니다. wp-config.php 파일을 무시하므로 다른 위치를 밀고 당길 때이 파일을 덮어 쓰지 않습니다. 나는 다른 사람들이 밀고 갈 수있는 공공 / 중앙 저장소로 풀을 사용합니다.

이것은 꽤 잘 작동하는 것 같습니다. 나는 테스팅을 할 때 기억할 수있는 한 자주 노력할 것이다. 적어도 하루에 한 번 이상, 그렇지 않으면 개발 서버와 변경 사항을 가져와야합니다. 서버에서 직접 작업하지 않기 위해 주로 변경 사항을 적용하고 있습니다. 데이터베이스에 중대한 변경 (새 플러그인, 업데이트 된 내용 등)이있는 경우 테스트에서 덤프합니다. 개발을 백업하고 덤프를 가져옵니다.

스테이징에도 동일한 프로세스를 사용합니다. 스테이징은 프로덕션과 동일한 서버에 있으며 광택을 다시 확인하고 모든 설정과 모듈이 프로덕션 서버에서 작동하는지 확인하십시오. 준비가되면 모든 프로덕션 파일과 데이터베이스를 백업하고 준비에서 파일과 데이터베이스를 복사합니다.

wp-config.php는 git에 없기 때문에, 물건을 밀고 당기는 것이 매우 간단합니다. 스테이징에서 프로덕션으로 옮길 때 파일을 복사하고 git을 사용하지 않으므로 wp-config.php가 올바른지 확인해야합니다.

나는 비슷한 질문을 했고이 플러그인을 사용하려고합니다.

또한 Capistrano 사용에 대해 생각했습니다. 파일 경로 및 URL을 업데이트 할뿐 아니라 모든 파일 및 데이터베이스 백업 / 마이그레이션을 처리하고 처리 할 매우 상세한 마이그레이션 스크립트를 만듭니다.

도구

  • MacVim을 사용하기 시작했지만 편집자를위한 텍스트 메이트입니다. 나는 리눅스에서 vim을 사용한다.
  • 데이터베이스 조작을위한 Sequel Pro. 연결할 수 없으면 PHPMyAdmin을 사용합니다
  • 필요한 경우 FTP로 전송하십시오.
  • 리비전 제어를위한 git Textmate와 GittiApp에서 클라이언트를 약간 사용했지만 명령 줄을 사용합니다.

1

나를 도와주는 한 가지는 (특히 여러 클라이언트 테마에서 작업 할 때) 내 dev 서버에 WordPress Multisite 설치를 사용하는 것입니다. 이렇게하면 필요한만큼 열린 작업을 가질 수 있으며 클라이언트 A가 클라이언트 B의 테마를 보는 것에 대해 걱정하지 않아도됩니다. 이것을 새로운 사이트를 만들 때마다로드하는 포괄적 인 샘플 컨텐츠 패키지와 결합하면 멋진 개발 시스템을 갖게됩니다.


0

버전 관리 시스템과 자동화 된 테스트를 사용하여 라이프 시스템의 서버에서 내부 해킹에서 더 구조화 된 개발 / 테스트 / 단계 / 라이프 사이클에 이르기까지합니다. 그것은 직업에 달려 있습니다.

그 옆에 나는 버그를 극복 할 때 워드 프레스 프로젝트에 버그를보고합니다.

플러그인 개발을 위해 휠을 항상 다시 발명하지 않기 위해 기존 원칙과 패턴을 기반으로 새로운 휠을 만들려고합니다.


0

내 워크 플로는 다음과 같습니다.

  • 웹 사이트의 요구 사항과 디자인을 얻 자마자 프로젝트 디렉토리를 만드는 것으로 시작합니다.
  • Git을 사용하여 폴더 Statictheme/plugin폴더와 Dynamic폴더 버전을 지정하십시오 .
  • 프로젝트의 가상 호스트를 만듭니다. 나는이 협약을 따른다 :

    http://project1.dev/

    http://project1.static.dev (선택 사항)

  • 나는 보통이 폴더 구성을 따릅니다.

    Projects
           Project1Name
                       Docs //Requirements docs, emails, other related documents. 
                            //This directory may contain directories with  names as dates
                            //(e.g 2014-01-01) to stay super organized :)    
                       Designs //All PSDs go here  
                       Data  //Database backup for the project,
                       Site
                           Dynamic //WordPress generally
                           Static //I don't always create a static version. I did a couple  
                                  //of times in the past. I use the same structure inside
                                  //the theme or plugin I'm developing
                                 js
                                 css
                                 img
    
           Project2Name and so on ...
    

나는 build매일 도구를 사용하지 않아서 기분이 나쁘다는 것을 알고 있습니다.

그러나 Spant2CSS 프로젝트에 ANT 빌드 도구를 사용 하여 ANT의 소비를 위해 몇 가지 PHP 스크립트와 결합합니다.

도구


Windows 또는 Ubuntu에 관계없이 다음을 사용합니다.

  • 넷빈즈 + SublimeText2 + 메모장 ++
  • WAMP-(PHP)
  • 가짜 메일
  • 힘내
  • 테스트를위한 Chrome 및 DevTools + Firefox (Firebug 및 Safari + IE 포함)
  • YSlow!
  • Filezilla / WinSCP / NB의 내장 FTP
  • Cygwin + 명령 프롬프트
  • 작곡가
  • NodeJS + NPM
  • SQLYog 커뮤니티 에디션 + PHPMyAdmin

워크 플로 개선에 대한 제안을 받고 있습니다.


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