WP_UnitTestCase で翻訳ファイルを読み込む

WordPress のユニットテストを書く際に、翻訳ファイルを読み込みたい時にどうするか。

下記で一応読み込むことはできます。が、グローバル変数の $wp_locale に触ってしまっているのが気になっております。(今回は、$wp_locale の中にある月や曜日の名前が使いたかったのです)

class BhuddaTest extends WP_UnitTestCase {

	public $loaded;

	public function setUp() {

		parent::setUp();

		require_once ABSPATH . 'wp-admin/includes/translation-install.php';
		$loaded_language = wp_download_language_pack( 'th' );
		$this->loaded = load_default_textdomain( 'th' );
		$GLOBALS['wp_locale'] = new WP_Locale();

	}

}

↓ プラグインを作る方々への本、書きました。 ↓

WordPressの管理画面の実行フローを視覚化してみる

WordPressの実行フローを視覚化してみる | Simple Colors の真似っ子です。

テーマが読み込まれる時との違いや共通点での面白ポイントは、

  • コアファイルが作るページの場合、そこにファイルがある
    (wp-admin/post-new.phpなど、そこにファイルが実際にあります。
    テーマの場合は、リライトの色々が発動して、URLによって指定されるパスに、
    そのファイルはありませんね。なので、index.phpが大事)
  • テーマ側の index.php のような位置づけにあるのが、wp-admin/admin.phpファイル
    • プラグインが作るページの場合でも、トップレベルならwp-admin/wp-admin.php?page=hogehogeのような形でadmin.phpは読み込まれ、
    • サブページとして登録される場合でも、wp-admin/options-general.php?page=hogehogeのような形でそこにあるファイルが読み込まれ、そこからwp-admin/admin.phpが読み込まれる

    という形になっている。

といったところかと思います。

クリックで拡大
クリックで拡大

以上です。

大曲さんの「WordPressの実行フローを視覚化してみる」のページ
大曲さんの「WordPressの実行フローを視覚化してみる」のページ

↓ プラグインを作る方々への本、書きました。 ↓

記念に

リファクタリングをしていて、ある配列のデータの持ち方に疑問が生じた。

ソースコードを大幅に手術した。

新しいソースが示唆を与えてくれて、管理画面インターフェースを再考した。

PaxCoworkingにいた二人に相談した。

ころぐの方向性がまた明確になった。

WordCamp神戸でかわいいアドミンの元をプレゼンしたこと、文原さんがプリンタの設定を終えてくれていたこと、大きなデスクが運び込まれていたこと、大きなホワイトボードがあったことと昨夜ジャッキーさんのパーティーでたけおさんがホワイトボードで作業する誰かの話をしてくれたこと、松田さんと木村さんとリファクタリングに話が及んだこと、三児の父である滝口さんと今夜話をしたこと、ジェリ子さんが褒めてくれたこと、開発だけは、僕がずっと一人で進めてきたことの意味、なぜ僕はスタートアップではないと感じ続けてきたのか、WordPressのマルチサイトとの出会い、PHPスキルをずっと磨いてきたこと、二年前にウェブ制作の勉強をし始めないといけない状況になったこと、子どもが生まれてきてくれたこととそのタイミング、そしてなぜ彼女が女の子だったのか、ころぐがなぜころぐという名前なのか、思いついてからリリースまで2年弱の時間がかかってしたことの意味、コワーキングスペースに出会えたこと、僕の娘に対する愛情、第二子懐妊のタイミング、WordCamp東京の打ち上げで二人以上の子どもの登録要望を激しくしてもらえたこと、なぜBuddyPressを選択しなかったのかということ、なぜ原さんや安藤さんや田中さんや中畑さんとWordCamp東京を契機にして出会いMVCの思想に少しだけ触れたのか。

これらの偶然と必然。

新しいソースコードに目をやると、今まさに明確になったコンセプトを、そのシンプルな配列がそのまま表していた。

ずっと頭の中でモヤモヤとしていたものが、ほんの少し、形を見せ始めていた。

CODE IS POETRY.

ソースコードと人生が、プログラミングと愛情が、ころぐと僕自身が、きちんと繋がった気がして、記念にこの文章をポストします。

↓ プラグインを作る方々への本、書きました。 ↓