テーマからでも管理画面にCSSとJSを追加できる(WordPress)

March 23rd, 2011

WordPress(Ver.3.1)の小ネタメモ。
管理画面を生成するときにもテーマ内の function.php は読み込まれていますので、function.php とかに以下のコードを入れれば、テーマから管理画面のヘッダーにCSSとかJSとか追加できます。


// CSSとJSをヘッダーに追加する関数
function add_admin_css_and_js() {
	$dir = get_bloginfo('template_directory');
	$css = '<link rel="stylesheet" type="text/css" href="' . $dir . '/admin-style.css" />' . "\n";
	$js = '<script type="text/javascript" src="' . $dir . '/admin-script.js"></script>' . "\n";
	$output = $css. $js;
	echo $output;
}

// ユーザーの情報を取得 ($current_userに代入される)
global $current_user;
get_currentuserinfo();

// 特定のユーザーがログインしているときのみ、CSSとJSを追加
if($current_user->ID == "2") {
	add_action('admin_head', 'add_admin_css_and_js');
}

ユーザーIDを判別して出し分けとかしていますが、
$current_user->ID の部分を $current_user->user_login に変えればログイン時の名前とかでも振り分けできますね。
あと current_user_can( $capability ) 使えば権限別に色変えたりできます。

プラグインを日本語化しようと思ったら意外なとこではまる

February 21st, 2011

自作プラグインを、もともと英語で作っていましたので、
日本語化してみましたよ。
でも最初はへんなとこではまったりするので注意が必要です。

プラグイン側の準備

テキストドメインの設定

プラグインのどこかでload_plugin_textdomain()という関数を実行し、
プラグインの翻訳用のIDみたいなのを設定します。

load_plugin_textdomain( 'vlbr', false, dirname(plugin_basename( __FILE__ )). '/languages/' );


最初の引数がプラグインの翻訳用のIDみたいなの、
2番目は不明、
3番目は翻訳ファイル(MO、PO)のディレクトリです。

翻訳が必要な部分を指定

プラグイン内で、翻訳する文字の部分を下記のように _e() か __() 関数を使って囲みます。

<?php _e('Break lines in', 'vlbr'); ?>
<?php __('Break lines in', 'vlbr'); ?>

_e()のほうは文字として表示させるもの、
__()はreturn値として取得するものです。

第2関数は上で設定したテキストドメインを入れます。
この部分を省略するとWordPressのコア部分で使っている翻訳を利用できます。
_e('Save Changes')みたいな、一般的な語は、プラグイン側で個別に翻訳を用意しなくても、
このように第1引数のみ指定することで自動で翻訳されます。

POTファイルを用意する

最終的には翻訳ファイル→MO、POファイルを作るのですが、
まずはその元となるPOTファイルを用意する必要があります。

Poeditで作る

Poeditという翻訳ファイル編集ソフトで作れますが、
下の自動生成が利用できますので必要ありません。

いちおうはまったポイントをメモっておくと、ファイル名を指定するとき、
プラグイン(php)のテキストドメインで設定した文字列と同じにしないといけないみたいです。

プラグインディレクトリの管理メニューから自動生成する

WordPressのプラグインディレクトリに、プラグインを登録したときに利用したIDでログインすると、タブのメニューの一番右に”Admin”メニューが出現しますので、それをクリックした先でPOTファイルが自動生成できます。

Plugin 管理画面のキャプチャ。中央より少し下に「POTファイルを生成する」のコーナーが

Pluginの管理画面で.POTファイルがダウンロードできる

これに早く気づいていればPOTを自作しようと試行錯誤する必要なかったんだが、、、

翻訳する

先のPoeditでPO、MOファイルを作ります。
プラグインのメインファイルが vacant-line-breaker.php なら、
それに言語コードをつけた vacant-line-breaker-ja.po、vacant-line-breaker-ja.mo という
ファイル名です。

Poedit編集画面の一番下のボックスに翻訳文を入れます

Poedit編集画面のキャプチャ

下のボックスに翻訳文を入れる、というのも0から作ったときはわかんなくてはまるポイントです。
わかってしまえばなんのことはないんですが、、、

WordPressプラグインをSubversionでサーバーにアップする

February 17th, 2011

やっとできたぜ、Subversion!
まだ便利さはよくわからないが、きっと使いこなすととても便利なのだろう。

とりあえず、自作のWordPressプラグインを
Subversionでプラグインディレクトリにアップするところまで
いけたのでメモ。

Subversionを自分のパソコンにインストールする

Windows版のSubversionがTortoiseSVNというものだという答えにいたるまで30分ググり続けました。。。
Downloadページから、普通は TortoiseSVN 32-bit をダウンロードしてダブルクリックしてインストール。

Subversionの使い方

任意のフォルダ上で右クリックして使うソフトです。
スタートメニューからTortoiseSVNを探してクリックしても「馬鹿め(意訳)」と言われるのでイラッとします

Subversionの用語集

専門用語が使われているので最初かなりイラつきますが、要はこうゆうことっぽいです。

コミット
アップロード
チェックアウト
ダウンロード

なんだよ、最初からそう言えよ!

プラグイン申請(おさらい)

wordpress.orgでユーザー登録して、申請フォームからプラグインを申請。
タイトルはかぶらないように、説明は簡潔に書けばOK。
1日後にはメールで「承認しました」的なメッセージとともに、Subversionで使うサーバーの場所(ディレクトリ)が送られてきます。

プラグインをアップする

まず、自分のパソコンにプラグイン用のディレクトリを作って、既にプラグインディレクトリに作られているデフォルトのフォルダ構成をチェックアウト(ダウンロード)します。
フォルダのどこかで右クリックすると、メニューに「チェックアウト」的な文字が出てくるのでクリック。フォルダを指定して「OK」するとダウンロードされます。

ダウンロードされたデフォルトのフォルダ構成のうち、「trunk」の中にプラグインの全ファイルを入れます。
で再度、フォルダのどこかで右クリックすると「コミット(アップロード)」的な文字があると思うので、クリックします。
これでアップロードされました。

早速プラグインディレクトリで自分のプラグインを探してみましょう!
readme.txt の内容が反映されているはずです。
(かなりうれしいポイント)

バージョンを管理する

trunk内のファイルを、tags内の適切な場所にコピーして、しっかりバージョンを管理しましょう。
trunkフォルダのどこかで右クリックして、TortoiseSVNメニュー内のBranch/Tagをクリックします。
readme.txtに書いたバージョン番号(Stable tag)と同名のフォルダをtags内につくり、その中にtrunk内の全てのファイルをアップします。



とうわけで、無事にプラグインを公開することができました。
次回は日本語化してみようか。