タグ

ブックマーク / firegoby.jp (54)

  • PHPUnitでWordPressのrewriteのテスト | Firegoby

    WordBench串のアドベントカレンダー5日目! @miya0001 おかげさまで未だに自前でセットアップした事がないゆとりなのでまずいなぁ・・・って思ってますwwww テストしやすいコードって大事ですね。。。$wp_rewite周りとか若干萎えてますw — Toro_Unit (@Toro_Unit) December 5, 2014 rewriteまわりのテストが萎えるだって? たしかに今までのやり方だと、何度もプラグインを有効化したり無効化したり、そのたびにrewriteでゴニョゴニョしたページをブラウザで確認したりしてましたね。 でも、WordPressのWP_UnitTestCaseを使えばそんなものは簡単さ! <?php class SampleTest extends WP_UnitTestCase { public function test_rewrite() { $

  • VCCW チームの GitHub プロジェクトいろいろ | Firegoby

  • WP-CLIをつかってWordPressのDBをコマンド1回で別のサーバーに引っ越す | Firegoby

    そういえばあまり紹介されたことがない技なので紹介します。 これを使用するとコマンド一発でDBを引っ越せるのでステージングから番サーバーへの引っ越しにすごい威力を発揮すると思います。 エイリアスを設定する まずWP-CLIでリモートサーバーに接続するためのエイリアスを設定します。 以下の要領で、~/.wp-cli/config.yml に書いてください。 @staging: ssh: user@staging.example.com/var/www/html @production: ssh: user@example.com/var/www/html こうすることで、リモートサーバー上に WP-CLI がインストールされていれば、以下のように SSH 経由でコマンドを実行することができます。 $ wp @staging plugin list うまくいかない場合は、上述のファイルをよーく

    WP-CLIをつかってWordPressのDBをコマンド1回で別のサーバーに引っ越す | Firegoby
  • PHPのビルトインウェブサーバーを使ってMacに1分でWordPressを立ちあげる | Firegoby

    タイトルは釣りですから気で怒らないでくださいね。笑 あと、デザイナー向けのつもりで作ったんですが、いろいろ遊んでるうちに趣旨から外れてしまって。。。 このスライドを作ってる最中にPHPのビルトインウェブサーバーとWP-CLIを使うと最小限のコマンドでWordPressを立ち上げちゃうことができるんじゃないの?ってことに気がついて、実際にやってみたらわずか1分ほどでWordPressが立ち上がっちゃったのでやり方を紹介します。 https://github.com/miya0001/wp-instant-setup 動作条件 以下の2つがMacにインストールされている必要があります。 PHP5.4 or later MySQL MAMP環境があればそれでも動くと思います。 そしてこいつはApacheとかNginxとか不要なんです! やり方 以下の二つのコマンドを順番に実行してください。 $

  • WordPressに対してBDDなテストを行うためのボイラープレートをつくった | Firegoby

    WordPressサイトに対して BDD なテストを行うためのボイラープレートを作りました。 https://github.com/vccw-team/boilerplate-behat-wordpress BDDとはなにかというと振る舞い駆動という意味で、ユニットテストがよりプログラマーよりなものであるなら、BDDは顧客の要求仕様に基づいたテストになります。 たとえばユニットテストでは、特定の関数の戻り値の確認作業を自動化するわけですが、これは必ずしも顧客の要求仕様に基づいたものではありません。 一方で、BDDなテストでは、「スマホでみたときに、このサイドバーを非表示にして!」みたいなことをテストするものなので、顧客からの要求仕様を直接テストに落とし込んだものになります。 Behat とは Behat とは、PHPで書かれたBDDテスト用のフレームワークで、その最大の特徴はまるでドキュメ

    WordPressに対してBDDなテストを行うためのボイラープレートをつくった | Firegoby
  • WP-CLI 0.24 でリモートサーバーに対してコマンドを実行できるようになりましたよ! | Firegoby

    先日、WP-CLI 0.24 がリリースされました。 このリリースでは、wp help の改善やWordPress体との互換性の向上、いくつかの新機能など、とても多くの修正が行われたビッグリリースとなりました。 その中でも特に熱い機能、SSH及びエイリアスについてご紹介します。 WP-CLIをSSH経由で実行する 従来の WP-CLI では、コマンドを実行したいサーバーに SSH でログインし、wp-config.php があるディレクトリに移動してからコマンドを実行する必要がありました。 管理しているサイトが複数ある場合には、これらの操作を繰り返す必要があり、どうしても煩雑になってしまいます。 WP-CLI の最新版では、--ssh というコマンドラインオプションが追加され、リモートサーバーにWP-CLIコマンド経由で SSH 接続を行い、wp コマンドを実行できるようになりました。

    WP-CLI 0.24 でリモートサーバーに対してコマンドを実行できるようになりましたよ! | Firegoby
  • WordPressのショートコードをWordPressを開かないでテストする。 | Firegoby

    Simple Mapというプラグインをアップデートしました。 https://ja.wordpress.org/plugins/simple-map/ 何をアップデートしたかというと以下のようにデフォルトの地図の表示を選べるようにした感じです。 [map map_type_id="SATELLITE"]スカイツリー[/map] このプラグインでやってるテスト このプラグインでは、ショートコードの属性がきちんとパースされて期待通りのHTMLで出力されているかどうかをphpunitで確認して、さらにそのHTMLGoogle Mapに変換されるかをQUinitでテストしています。 このプラグインには、10種類の属性があって、プルリクとかで増えた属性もあったりするので僕が使ったことがないものでさらに使う気がない属性もいくつかあります。 そしてそういう自分が使う気がない機能の確認作業に毎回手間をか

  • Supporting open source WordPress plugins (訳) | Firegoby

    海外の記事でちょっと面白い記事があったのと、この数ヶ月かなり気で英語の勉強をしていて、トレーニングになるのかもと思って翻訳してみました。 あともう一つ、僕はEmailなどのクローズな方法で質問が来ると過去の経験からキレ気味に返事をしてしまうのですが(笑)、そういう自分に自戒を込めてという意味で。 ちなみに著者さんはMobilePressというWordPressプラグインの開発者さんで、南アフリカ在住のMatt Geriさんという方です。 MobilePressは当時はかなり有名なプラグインで、数年前までこのブログでも使っていました。 原文はこちら。 https://mattgeri.com/2016/01/15/supporting-open-source-wordpress-plugins/ 以下翻訳です。気が付いたところがあれば指摘をお願いします。 かなり以前、ある会社と契約してた頃

  • VCCW 2.19.0 Linked Cloneに対応してディスク容量の大幅な節約ができるようになりました。 | Firegoby

    VCCW 2.19.0 Linked Cloneに対応してディスク容量の大幅な節約ができるようになりました。 VCCW 2.19.0をリリースしました。 http://vccw.cc/ このアップデートでは、Vagrant 1.8の新機能Linked Cloneに対応しました。 あと、VCCW用のBoxもアップデートしました。 VCCWの最新版を使う前に vagrant box update でBoxを最新版にしておくことをおすすめします。 VagrantとVirtualBoxも最新版にしてください。 Linked Cloneとは 従来のVCCWは、複数の仮想マシンを起動するたびにOSを丸ごと複製していたため1GB近いディスクをマシンごとに占有していました。 Linked Cloneという機能を有効化すると従来のようにOS丸ごとコピーせずに、差分だけが増えていくようになります。 したがって

    VCCW 2.19.0 Linked Cloneに対応してディスク容量の大幅な節約ができるようになりました。 | Firegoby
  • WordPressのテーマをTravis CIでビルドする。 | Firegoby

    最近のWordPressのテーマ開発はgulpとかを使ったりするので、それを公式ディレクトリに登録する時とか番環境で使う時には、厳密には不必要なファイルが大量に生成されたりします。 あと、npm installとかでよそから持ってきたファイルも、できればGitには登録しないほうがいいです。 そんなわけで、最近のWordPressのテーマ開発では、不要なファイルの削除とか外から持ってきたファイルを同梱するとか、そういうビルド作業が不可欠になってきました。 この記事のゴール というわけでこの記事では、そういう一連のビルド作業をTravis CIで自動化する方法について紹介します。 ゴールは以下のような感じ。 テーマをmasterブランチにpushするだけでビルドが自動的に発火する。 node_modulesなどのテーマの動作に不要なファイルはビルドしたテーマから削除。 動作に必要なサードパー

    WordPressのテーマをTravis CIでビルドする。 | Firegoby
  • VVVを使ってWordPress本体のパッチを送る方法 | Firegoby

    WordBench串おれおれアドベントカレンダー19日目の記事です。 日(12/19)の早朝にWordPress4.1がリリースされましたね。 今回のバージョンでは、僕もコアコントリビューターとしてクレジットを入れてもらいました。(4回目!) WordPress 4.1 “Dinah” 日人では、僕以外にも一緒にデジタルキューブで仕事をしている@tekapoさん、WordBench大阪の管理人の1人@ixkaitoさん、Automatticの@TakashiIrieさん、そして僕は面識がないのですが Yuta Sekine さんという方もクレジットが入ってますね。 追記※ 元WordCamp東京の実行委員長のとおるちゃんも発見しました! デジタルキューブは、手を動かす形でのWordPressへの貢献にはとても力を入れていまして、プラグインのダウンロード数が100万を超え、3.7から4

  • WordPressのコンテンツエリアでTwigテンプレートエンジンを使用可能にするContent Template Engineってプラグインをリリースしました。 | Firegoby

    WordPressのコンテンツエリアでTwigテンプレートエンジンを使用可能にするContent Template Engineってプラグインをリリースしました。 Content Template Engineっていうプラグインを作りました。このプラグインを使用するとコンテンツにテンプレートエンジンが使用できるようになります。 WordPress › Content Template Engine « WordPress Plugins ドキュメント テンプレートエンジンには、Twigというテンプレートエンジンを使用しており、これはSymfonyというフレームワーク等で利用されている有名なテンプレートエンジンです。 Twigドキュメント Advanced Custom Fieldなどのカスタムフィールド系のプラグインを使うと、投稿画面に以下のようなメタデータのユーザーインターフェースを追加

  • WP-CLI+PHPUnitを使ったWordPressプラグインのユニットテスト(1) | Firegoby

    WordPressのコマンドラインツール WP-CLI には様々な機能がありますが、プラグイン開発者にとって特に便利な機能がいくつかあります。 その代表的な例が以下のコマンドで、このコマンドを既存のプラグイン名を指定して実行するとPHPUnitテスト用のサンプルコードが自動的に生成されます。 wp scaffold plugin-tests <plugin-name> また、以下のコマンドを実行すれば、PHPUnitテスト用のファイルが含まれたプラグインのひな形を自動的に生成してくれます。 wp scaffold plugin <plugin-name> 今回の記事では、このコマンドをつかって生成したプラグインのひな形を使ってテスト駆動開発に挑戦してみます。 テスト環境について 何度もユニットテストを繰り返すことを考えると、やはり簡単にリセットできることが望ましいと思います。 そこで今回は

    WP-CLI+PHPUnitを使ったWordPressプラグインのユニットテスト(1) | Firegoby
  • VCCW + WordMove + StaticPress + GitHubページでWordPressサイトを永代供養 | Firegoby

    イベントのサイトをWordPressでつくったあと、そのイベントが終わったらもうWordPressの管理はしたくないよってことはまあまあ多いですよね。 そんな時に、GitHubページとして公開しておけば、ドメインの維持費以外は無料でホスティングできちゃうじゃんということでやってみました。 やりかた VCCWを起動 以下から最新版を入手して、vagrant up するだけ。 VCCW 特になにか設定を変える必要はありません。 WordMoveで既存のサイトを吸い込む vagrant upの後に自動的に生成されているMovefileを編集してください。 設定方法は、以下のサイトを参考にしてください。 ふつうのレンタルサーバーでも、VCCWとWordmoveを使って快適にローカル環境で開発しようぜ! | Toro_Unit さくらのレンタルサーバーにWordPressをデプロイするのはVCCW

  • VCCWを使ってWordPress環境をチームでまるごと共有する | Firegoby

    今日は10日目。 今回の記事ではVCCWを使って、WordPressサイトをまるごとチームで共有する方法を紹介します。 何はともあれプロビジョニング まず、VCCWをダウンロードして下さい。 git cloneするよりも素直に.zipをダウンロードしましょう。 そしてvagrant up。 プロジェクト用に.gitignoreを用意 Vagrantfileがあるディレクトリの中に、.gitignoreというファイルがあるはずです。 それを以下の内容とまるごと差し替えましょう。 .vagrant Gemfile Gemfile.lock Rakefile Vagrantfile.sample Vagrantfile.theme-review provision/packaging.sh spec VCCWのメンテナンスに必要なテストコードなどがこれらのファイルには含まれているんですがサイトを

    VCCWを使ってWordPress環境をチームでまるごと共有する | Firegoby
  • WordPressプラグインの開発にTravis CIを導入しよう! | Firegoby

    昨日のVCCWを使ってWordPress環境をチームでまるごと共有するに引き続きぼっちアドベントカレンダー11日目の記事です。 今回の記事ではWordPressプラグインの開発に、Travis CIを使った継続的インテグレーション(Continuous Integration)を導入しようぜーという話です。 Travis CIを使うと何ができるようになるのか? WordPressのプラグイン開発にTravis CIを導入するとどんなメリットがあるんでしょう? まずはそこから紹介します。 GitHubにgit pushしたら自動的にphpunitが発火する。 プルリクが来た時も同じく自動的にphpunitが発火する。 複数のPHPバージョンを指定して、それぞれの環境でテストを行うことが可能。 複数のWordPressのバージョンを指定して、それぞれの環境でテストを行うことが可能。 マルチサイ

  • WordPressのテーマをプラグインから変更するためのクラス | Firegoby

    例えばWPTouchなどのモバイル表示用プラグインでは、ユーザーエージェントを検出して、テーマファイルを一時的に変更する処理を行っています。 以下で紹介するクラスはこのプラグインの中で使用しているテーマを切り替えるためのクラスです。 使い方 自作プラグインの中で何らかの条件分岐を行い、その条件に従ってテーマを切り替えます。 function is_mobile() { // モバイル端末かどうかを判別する...など } if (is_mobile()) { new switchTheme( 'default', // テーマのディレクトリ名 '/path/to/wp-content/themes', // パス 'http://example.com/path/to/wp-content/themes', // URL ); } switchThemeコンストラクタには以下の引数を設定して

    WordPressのテーマをプラグインから変更するためのクラス | Firegoby
  • VCCWのboxを作成してVagrantのプロビジョニング時間を短縮する | Firegoby

    なんか最近忙しくて頻繁にプロビジョニングしてるので、時間を短縮するためにboxを作ることにしました。 boxとはAWSでいうAMIのようなもので、VCCWでプロビジョニングしたマシンを保存して再利用することで、大幅にプロビジョニングの時間を短縮することができます。 さらにVCCWのVagrantfileにこのboxを指定しておけば、WordPressのセットアップはVCCW側がうまいことやってくれるので安心です。 実際、一からプロビジョニングする方法だと15分〜20分ほどかかってた時間が、この方法だと2分ほどで完了するようになりました。 boxの作り方 まず、vccwをupしてください。 $ vagrant up プロビジョニングが完了したら、ゲストマシンにSSHでログイン。 $ vagrant ssh つぎにvagrant upした時にネットワークインターフェースのエラーが出ないようにす

    VCCWのboxを作成してVagrantのプロビジョニング時間を短縮する | Firegoby
  • Node.jsのhttp-serverっていうコマンドラインのウェブサーバーが便利 | Firegoby

    たとえばGitHubとかで見つけたCSSとかJavaScriptとかのプロジェクトのサンプルとかをささっと確認したい時がありますよね。 そんな時にhttp-serverというやつがすごく便利です。 https://github.com/nodeapps/http-server このhttp-serverをインストールしておくと、任意のディレクトリで`http-server`というコマンドを実行するだけでそのディレクトリをドキュメントルートにしたウェブサーバーが起動します。 $ http-server Starting up http-server, serving ./ on: http://0.0.0.0:8080 Hit CTRL-C to stop the server インストール方法 Node.jsがインストール済みならインストールは簡単です。 $ npm install -g

    Node.jsのhttp-serverっていうコマンドラインのウェブサーバーが便利 | Firegoby
  • キャッシング即日ならどこがいい?20社以上を徹底比較

    入院や引っ越しなどで急に、まとまった出費が必要となる場面があります。 急にお金が必要になった時に、即日でキャッシングに対応してもらえる会社があると心強いでしょう。 いざといった時の備えとしても、ぜひご一読ください。 この記事を読んでわかること 即日キャッシングを利用するならカードローンが最適 デジタルカードなら最短5分で利用開始まで進む 消費者金融は無利息期間を選ぶと金利を抑えて借りられる 消費者金融やクレジットカード会社のカードローンは、即日中に利用開始まで進む可能性が高いです。 融資までの時間や限度額などの条件を加味して、自身の都合に合う商品があるか確認しましょう。 即日キャッシングに対応している借り入れ先は2つある カードローンなど即日のキャッシングに対し、消費者金融とクレジットカード会社は前向きです。 審査が最短数分で終了し、そのまま融資開始まで進みます。 もし、時間を優先して借り

    キャッシング即日ならどこがいい?20社以上を徹底比較