WordPress開発にはどのプロセスを使用しますか?[閉まっている]


38

WordPressのテーマとプラグインを他の人がどのように開発しているかに興味があります。私にとって、管理パネルのブラウザ内エディタは、それをカットしません。現在、PHPプラグイン(NetBeans)を備えたIDEを使用して、サーバーから開発Webディレクトリを取得し、そこで編集し、テスト用にプッシュしてから、ライブに移行しています。

テーマ、プラグインの開発、テスト、展開、最新バージョンのWordPressのテスト、展開のワークフローを管理するために、他の人が選択したツールを使用する方法を探しています。

これをコミュニティWikiにして、他の人が開発プロセスを共有できるようにしました。私はここで唯一の正解を見つけることを期待していません-あなたのプロセスはあなた自身のものであり、私はあなたが自分自身や他の誰かのために働くために何をするかを期待しません。私は、他の人にとって何がうまくいくか、何がうまくいかないかを見ることによって、プラグインとテーマを開発する能力を向上させることに興味があります。

ここでの別の質問では、WordPress開発をサポートする特定のソフトウェアツールについて説明します。ここでは、特定のツールファミリーでしか達成できない特定のタスクを除き、ツールとは無関係に適用できるプロセスと方法論を探しています。


あなたかもしれません。同様の問題は、すでに上で行われた。wordpress.stackexchange.com/questions/324/...
タルGaliliを

回答:


20

記録のために、私は主にWebサイト全体とプラグインを作成し、それらをデプロイします。私のワークフローは、RubyとGitが非常に多いです。

新しいプロジェクトを開始するために、新しいvhostのセットアップとWordPressの最新のタグ(svnを追跡する独自のgitリポジトリから)をチェックするビジネス全体を処理するシェルスクリプトがあります。

Webサイト全体の基本的な形状は、wp-contentのgitレポジトリです。これには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によって設定されるため、検索/置換は行われません)。

これらのスクリプトでどれだけの時間を節約したか想像できません。


リンクに感謝します。しかし、運用データベースの内容を失うことができない状況はありませんか?どのテーブルを手動でロードするかを選択することを除いて、動作する方法がわかりませんでした。それでも、メニュー項目をやり直す必要があります。
ダニエルC.ソブラル

6

@Thomas Owensこの質問は、「WordPressのテーマ/プラグイン開発用ソフトウェア?」という質問と幾分重複しており、重複しています。閉じるべきかどうかはわかりませんが、焦点が少し異なります。そう...

Mac OS X

ここに、Max OS Xのための私の必須ツールセットがあります(常により良いものを探しています)。機能が低すぎて機能が少なすぎます。

Windows Vista

私がWindows Vistaを使用していたとき、重要なツールセットは次のとおりでした。

ドメインを切り替えるコード展開/データ移行

これがまさにあなたが探しているものかどうかはわかりませんが、ローカルの開発サーバー、テストサーバー、展開サーバー間の移行を容易にするプラグインを開発しています。私はそれについてここに書いた:

お役に立てれば

-マイク


5

これはワークフローの回答であり、IDEまたはプラグインに固有のものではありません。

プラグイン開発に非常に有効なソリューションは、各ワードプレスのバリエーションがサブフォルダーにインストールされたローカルのApache Webサーバーから始めることです。

ローカルサーバールートの外部の別の場所に、wordpressプラグイン/テーマの作業コピーを保存します。各ワードプレスバリエーションの/ wp-content / pluginsフォルダーに適切なtrunk / tag / branchへのシンボリックリンクを作成します。

IDEでプラグインを編集すると、行った変更は各ワードプレスのインストールで明らかに表示されるため、ワードプレスの複数のバリエーションを簡単にテストできます。

基本的に、ローカルのワードプレスのバリエーションごとにブラウザータブを開いて、1つのプロジェクトと1つのファイルベースで作業しながらそれぞれをテストできます。

SVNとFTPをサポートするIDEを使用すると、作業コピーを編集し、変更をリポジトリにコミットするだけで済みます。

IDE Codaは私のためにそれを行いますが、NetBeansとEclipseも好きです。

プラグインが正常に機能し、それらの変更をリポジトリにコミットしたら、wordpressプロジェクトを開いて、変更したプラグインをライブサイトに直接公開できます。


3

現在の仕事を開始してから約2.5年前に進化した比較的単純なセットアップがあります。

現像

GNU screen内でVimを使用して、SSHですべての開発を行います。Vimプラグインは次のとおりです。

垂直分割と:set hiddenは不可欠です。私はまた、(256色端子を好むITERMを搭載したMac OS X上)railscastsのカラースキーム。

また、ニーズに合わせてdBugを徐々に変更しています。ニースの代替print_r()var_dump()するときに、変数が配列またはオブジェクトであることを知っています。

展開する

現在、私は多くの公開プラグイン/テーマで作業していないため、WordPressの複数のバージョンとのプラグインの互換性をテストしていません。開発サーバーでコードを作成し、そのコードをSubversion経由で運用環境に移動します。


xdebugを使用して非常に良いvar_dumpを取得できます。xdebugスタックトレースは、どのパラメーターが関数に渡されているかを示すこともできます(これは非常に便利です)
タラスマンコフスキー

3

WordPressテーマ開発プロセス

  • モックフローワイヤフレームを基本的な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開発ツール

  • FTPが組み込まれたAptana Studio WorkPlaceコードエディター

  • パテ

  • 一方でブラウザを開き、もう一方でコードエディタを使用するデュアル1920 x 1200モニタ

  • Wacom Intuis 4タブレット

  • YslowとGoogle Pageの速度を備えたFirebug


3

私のワークフローはとてもシンプルです。4つの環境に対応しています。テスト、開発、ステージングおよび本番。

ワークフロー

リビジョン管理にgitを使用しています。wp-config.phpファイルを無視するので、さまざまな場所をプッシュおよびプルしてもこのファイルは上書きされません。unfuddleは、他の人がプッシュ/プルするためのパブリック/中央リポジトリとして使用します。

これはかなりうまくいくようです。私はテストに取り組んでいる間、私が覚えている限り頻繁にコミットします。少なくとも1日に1回は、それ以上ではありませんが、私はunfuddleと同期し、開発サーバーに変更をプルさせます。サーバーで直接作業を行わないようにしていますので、主に変更を取り入れています。重要なデータベースの変更(新しいプラグイン、更新されたコンテンツなど)があった場合、テストからダンプします。開発のバックアップを作成し、ダンプをインポートします。

ステージングにも同じプロセスを使用します。ステージングは​​運用サーバーと同じサーバー上にあり、洗練度を再確認し、運用サーバーですべての設定とモジュールが機能していることを確認します。準備ができたら、すべての運用ファイルとデータベースをバックアップし、ステージングからファイルとデータベースをコピーします。

wp-config.phpはgitに含まれていないため、物事を簡単にプッシュおよびプルできます。ステージングから実稼働環境に移行するとき、gitを使用せずにファイルをコピーするため、wp-config.phpが正しいことを確認する必要があります。

似たような質問をしましたが、このプラグインの使用を検討します。

Capistranoの使用についても考えました。すべてのファイルとデータベースのバックアップ/移行を処理して処理する非常に詳細な移行スクリプトを作成し、ファイルパスとURLを更新します。

道具

  • エディターのTextmateですが、MacVimを使い始めています。Linuxの場合はvimを使用します。
  • データベース操作用のSequel Pro。接続できない場合は、PHPMyAdminを使用します
  • FTPが必要な場合は送信します。
  • リビジョン管理のためのgit。私はTextmateとGittiAppでクライアントを少し使ってきましたが、ほとんどはコマンドラインで行いました。

1

私が(特に複数のクライアントテーマで作業している場合に)役立つのは、開発サーバーでWordPressマルチサイトインストールを使用することです。そうすれば、クライアントAがクライアントBのテーマを見るのを心配することなく、必要な数だけオープンジョブを作成できます。これを、新しいサイトを作成するたびにロードするサンプルコンテンツの包括的なパッケージと組み合わせると、素晴らしい開発システムが得られます。


0

私は、バージョン管理システムと自動化されたテストを使用して、ライフシステムの根底にあるサーバーのインプレースハッキングから、より構造化された開発/テスト/ステージ/ライフサイクルに移行します。仕事次第です。

その次に、バグを実行したときにワードプレスプロジェクトにバグを報告します。

プラグインの開発では、ホイールを常に再発明しないようにして、既存の原則とパターンに基づいて新しいホイールを作成します。


0

私のワークフローは次のとおりです。

  • Webサイトの要件とデザインを取得したらすぐに、プロジェクトのディレクトリを作成します。
  • 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日常的にツールをまだ使用していないことを認識しており、気分が悪くなります。

ただし、ANTを使用するためのいくつかのPHPスクリプトと組み合わせて、Sprite2CSSプロジェクトに ANTビルドツールを使用しています。

道具


WindowsでもUbuntuでも、次のものを使用します。

  • Netbeans + SublimeText2 + Notepad ++
  • WAMP-(PHP)
  • FakeMail
  • Git
  • ChromeおよびDevTools + FirebugとSafari + IEをテスト用のFirefox
  • YSlow!
  • Filezilla / WinSCP / NBの組み込みFTP
  • Cygwin +コマンドプロンプト
  • 作曲家
  • NodeJS + NPM
  • SQLYog Community Edition + PHPMyAdmin

ワークフローを改善するための提案を受け付けています。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.