it-swarm-ko.tech

WordPress 개발을 위해 어떤 프로세스를 사용합니까?

다른 사람들이 WordPress 용 테마 및 플러그인을 개발하는 방법에 관심이 있습니다. 나에게 관리자 패널의 브라우저 내장 에디터는 그것을 잘라 내지 못한다. 현재 저는 IDE PHP 플러그인 (NetBeans)을 사용하고 있습니다. 내 개발 웹 디렉토리를 내 서버에서 끌어와 거기에서 편집하고 테스트를 한 다음 실시간으로 마이그레이션합니다.

나는 다른 사람들이 테마, 플러그인을 개발, 테스트 및 배포하기위한 워크 플로우를 관리하기 위해 자신의 도구를 사용하는 방법을 찾고 있으며, 라이브로 가기 전에이를 상대로 최신 버전의 WordPress를 테스트하고 있습니다.

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

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

37
Thomas Owens

기록을 위해, 나는 주로 전체 웹 사이트와 플러그인을 만들고 배포합니다. 내 워크 플로는 Ruby와 git-heavy입니다.

새 프로젝트를 시작하기 위해 쉘 스크립트를 사용하여 새로운 가상 호스트를 설정하고 WordPress의 최신 태그 (svn을 추적하는 자체 git 저장소에서)를 체크 아웃하는 전체 업무를 처리합니다.

전체 웹 사이트의 기본 모양은 wp-content에서 git repsotory입니다. 여기에는 배치 파일 ( http://github.com/dxw/wp-capistrano )을 처리하는 Capfile (capistrano의 Makefile eqiuvalent)과 YAML 구성 파일이 들어 있습니다. 또한 저장소 안에 테마와 플러그인을 git 하위 모듈로 추가합니다 (예, 우리는 제 3 자 플러그인에 대한 git 저장소도 유지합니다. 우리는 우리가 개인적으로 테스트 한 최신 버전을 사용하고 싶습니다).

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

플러그인을 작성할 때 나는 오이/webrat을 사용하여 테스트 주도 개발 ( github.com/dxw/cucumber-wordpress )을 수행합니다.

또한 개발 데이터베이스를 프로덕션 환경으로 마이그레이션하는 경우 일반적으로 덤프를 복사하는 경우입니다 (WP_SITEURL 및 WP_HOME은 준비/프로덕션 시스템에서 capistrano가 설정하므로 검색/대체가 필요하지 않습니다).

나는이 스크립트로 얼마나 많은 시간을 절약했는지 상상할 수 없다.

20
tomdxw

@ Thomas Owens 이 질문은 " 소프트웨어 WordPress 테마/플러그인 개발? . " 닫을 지 확실하지 않지만 약간 다른 초점 인 것 같습니다. 그래서...

맥 OS X

다음은 Max OS X 에 대한 내 필수 도구 세트입니다 (항상 더 잘 찾고 있습니다.) 참고 NetBeans를 시도하고 포기했습니다. 그 위에. 너무 느리고 기능이 너무 적습니다.

윈도우 비스타

Windows Vista에서 일 때 필수 도구 세트 는 다음과 같습니다.

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

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

이것이 도움이되기를 바랍니다.

-마이크

6
MikeSchinkel

이것은 IDE 또는 플러그인과 관련된 워크 플로 응답이 아닙니다.

플러그인 개발을 위해 정말 잘 작동하는 솔루션은 각 워드 프레스 변형이 하위 폴더에 설치된 로컬 Apache 웹 서버에서 시작하는 것입니다.

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

IDE에서 플러그인을 편집 할 때 변경 사항이 각 Wordpress 설치에 표시되므로 여러 버전의 Wordpress를 쉽게 테스트 할 수 있습니다.

기본적으로 각 로컬 WordPress의 변형에 대해 브라우저 탭을 열어 단일 프로젝트와 단일 파일 기반에서 작업하면서 각각을 테스트 할 수 있습니다.

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

IDE Coda가 나를 대신 해 주었지만 NetBeans와 Eclipse도 좋아합니다.

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

5
leetagg

나는 2.5 년 전에 나의 현재 일자리를 시작한 이래로 진화 한 상대적으로 복잡하지 않은 체제를 가지고있다.

개발 중

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

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

우리는 또한 우리의 필요에 맞게 dBug 를 서서히 수정 해 왔습니다. 변수가 배열 또는 객체임을 알 때 print_r()var_dump()을 대체 할 수 있습니다.

배포

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

3
Annika Backstrom

WordPress 테마 개발 프로세스

  • 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에 테마 폴더 업로드

WordPress 개발 도구

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

  • 퍼티

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

  • 와콤 Intuis 4 타블렛

  • Yslow 및 Google 페이지 속도가있는 방화 녀석

3
Chris_O

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

워크 플로

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

이것은 꽤 잘 작동하는 것 같습니다. 테스트를 진행하는 동안 기억할 수있는만큼 자주 커밋합니다. 적어도 하루에 한 번, 더 이상 없다면, 나는 unfuddle과 동기화하고 개발 서버에 변경 사항을 적용시킵니다. 나는 서버에서 직계 작업을하지 않으려 고하기 때문에 주로 변경 작업을 진행하고있다. 중요한 데이터베이스 변경 사항 (새 플러그인, 업데이트 된 컨텐트 등)이있는 경우 테스트에서 덤프합니다. 개발을 백업하고 덤프를 가져옵니다.

나는 스테이징에 대해 동일한 프로세스를 사용한다. 스테이징은 프로덕션과 동일한 서버에 위치하므로 폴란드어를 두 번 확인하고 모든 설정과 모듈이 프로덕션 서버에서 작동하는지 확인하십시오. 준비가되면 모든 프로덕션 파일과 데이터베이스를 백업하고 준비에서 파일과 데이터베이스를 복사합니다.

Wp-config.php는 git에 없기 때문에 푸시 (Push) 및 푸시 (Push)하는 것이 매우 간단합니다. 준비에서 프로덕션으로 이동할 때 파일을 복사하고 git을 사용하지 않으므로 wp-config.php가 올바른지 확인해야합니다.

나는 simliar question 을 물어 보았다. 그리고 나는이 플러그인을 사용하려고한다.

나는 또한 카피 스트라 노 (Capistrano) 사용에 대해 생각해 보았습니다. 파일 경로 및 URL을 업데이트 할뿐만 아니라 모든 파일 및 데이터베이스 백업/마이그레이션을 처리하고 처리하는 매우 자세한 마이그레이션 스크립트를 작성합니다.

도구들

  • 내 편집인을위한 Textmate, 나는 MacVim을 사용하기 시작했습니다. 저는 리눅스에서 vim을 사용합니다.
  • 데이터베이스 조작을위한 Sequel Pro. 연결할 수 없으면 PHPMyAdmin을 사용합니다.
  • 필요한 경우 FTP 용으로 전송하십시오.
  • 수정 제어를위한 자식. 대부분 명령 줄에서 TextMate와 GittiApp에서 클라이언트를 사용하고 있었지만 말입니다.
3
Ryan Gibbons

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

1
Keith S.

나는 버젼 관리 시스템과 자동화 된 테스트를 사용하여보다 체계적인 개발/테스트/무대/라이프 사이클에 이르기까지 생명 시스템의 내장에서 서버를 제자리에서 해킹했다. 그것은 단지 직업에 달려 있습니다.

그 다음으로 나는 워드 프레스 프로젝트를 다시 실행할 때 버그를보고한다.

플러그인 개발을 위해 저는 기존의 원칙과 패턴을 기반으로 새로운 것을 구축하기 위해 휠을 항상 다시 발명하지 않으려 고 노력합니다.

0
hakre

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

  • 나는 웹 사이트의 요구 사항과 디자인을 얻 자마자 프로젝트 디렉토리를 만드는 것으로 시작한다.
  • git을 사용하여 Static 폴더에있는 Dynamictheme/plugin 폴더를 버전화하십시오.
  • 프로젝트의 가상 호스트를 만듭니다. 나는이 대회를 따른다.

    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 도구를 사용하지 않는다는 것을 알고 있는데, 이는 나에게 기분이 좋지 않다.

하지만 필자는 Sprite2CSS 프로젝트 에 ANT 빌드 도구를 사용하고 ANT의 소비를 위해 PHP 스크립트를 사용했습니다.

도구들


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

  • Netbeans + SublimeText2 + Notepad ++
  • WAMP - (PHP)
  • FakeMail
  • Git
  • Firebug 및 Safari가 설치된 Chrome 및 DevTools + Firefox + 테스트 용 IE
  • YSlow!
  • Filezilla/WinSCP/NB에 내장 된 FTP
  • Cygwin + 명령 프롬프트
  • 작곡가
  • NodeJS + NPM
  • SQLYog 커뮤니티 에디션 + PHPMyAdmin

워크 플로우 개선에 대한 제안은 열려 있습니다.

0
Junaid Qadir

나는 Denver , FileZilla, Notepad ++, 파이어 폭스 파이어 버그와 다른 검사관들 (링크는 위), cPanel 및 dbForge Studio for MySQL

0