【メモ】WordPress, テーマ内のJavaScriptをwp_enqueue_scriptに追加

テーマ内に置いたJavaScriptファイルをwp_enqueue_scriptで呼び出せるように設定する。

functions.php

function js_enque_method() {
   wp_register_script('example_script',get_bloginfo('template_url').'/js/example.js','jQuery','1.0');
   wp_enqueue_script('example_script');
}
add_action('wp_enqueue_scripts', 'js_enque_method');

テーマ内に[js]フォルダを作り、そのフォルダ内に[example.js]があります。
example.jsのVersionは1.0です。
example.jsはjQueryを必要とします。

CodaでもjQueryのコード補完をして欲しい

Codapanic.com の editor Coda がすこぶる便利です。

WordPressのThemeやPluginはほぼCodaで書いています。

一つだけ不満だったのはjQueryのコード補完ができないことです。
Twitterでそのことを愚痴ったら、@kzxtremeさんから jquery syntax mode って便利なものが公開されていると教えてもらいました。

http://digitalsandbox.net/index.php/project/category/jquery_syntax_mode/jquery_syntax_mode

サイトに丁寧に解説されているのでインストールも簡単でした。

digitalsandbox.netからzipファイルをダウンロードし解凍します。
解凍フォルダの .mode ファイルは ~/Library/Application Support/Coda/Modes/ にコピーします。
.clips ファイルはCodaを起動し「クリップ」ウインドウを開きます。ウインドウ > クリップ (⌃⌘C)
「クリップ」ウインドウの左サイドバーで右クリックし「グループの読み込み…」を選択し .clips ファイルを選択します。

Codaで使用は構文モードを jQuey を選択です。

jQuery コード補完はしてくれて嬉しい限りです。
まぁ、最新1.7系が出てこないのはしょうがないですかね。

クリップは他のeditorだとsnippet機能みたいなものでしょうか。
インストールした .clips には以下のものが入っていました。

ready+tab:
$(function() {
/*place jQuery actions here*/
 
});
 
$+tab:
$(’‘)
 
this+tab:
$(this)
 
func+tab:
function() {
 
}

func+tab: は補完の方が強いようで function になってしまいます。
fc+tab に変えました。

変更方法は 「クリップ」ウインドウ Function の [i] ボタンをクリックすると編集モードになります。
好みのキーコンビネーションに変えて「保存」をクリックするだけです。

ますますCodaが便利になりました。

Zend_Mailで日本語メール

Zend Framework Zend_Mailで日本語メール送信メモ。

require_once 'Zend/Mail.php';
$mail = new Zend_Mail('ISO-2022-JP');
$mail->setBodyText(mb_convert_encoding("メール本文。", 'ISO-2022-JP', 'UTF-8'));
$mail->setFrom('noreply@example.com',mb_encode_mimeheader(mb_convert_encoding('送信者名', 'ISO-2022-JP', 'UTF-8'),'ISO-2022-JP'));
$mail->addTo('sendto@example.com',mb_encode_mimeheader(mb_convert_encoding('送信先名称', 'ISO-2022-JP', 'UTF-8'),'ISO-2022-JP'));
$mail->setSubject(mb_convert_encoding('メールタイトル', 'ISO-2022-JP', 'UTF-8'));

WordPress, ループをカスタマイズする3つの方法

WordPressでループをカスタマイズするメモ。

query_posts()
http://wpdocs.sourceforge.jp/テンプレートタグ/query_posts

global $query_string;
// 全投稿出力
$posts = query_posts($query_string.'&posts_per_page=-1');
 
if (have_posts()) : while (have_posts()) : the_post();
   // ループ処理
   endwhile;
else;
   // not found
endif;
 
// ループをリセット
wp_reset_query();

オリジナルのループを元にカスタマイズしたい時に使用する。
wp_reset_queryを最後に実行する。

WP_Query()
http://wpdocs.sourceforge.jp/関数リファレンス/WP_Query

$args = array(
   'post_type'=>'page',
   'post__in' => array('595', '33', 44)
);
$query = new WP_Query($args);
 
while($query->have_posts()) : $query->the_post();
   // ループ処理
endwhile;
 
// queryをリセット
wp_reset_postdata();

オリジナルのループを作成、複数のループを作成。
wp_reset_postdataを最後に実行する。

get_posts
http://wpdocs.sourceforge.jp/テンプレートタグ/get_posts

$myposts = get_posts('posts_per_page=5&offset=1&category=1');
foreach($myposts as $post) :
   setup_postdata($post);
   // ループ処理
endforeach;

リセットはいらない。
引数は配列。

MAMP, MySQLの起動エラーに対処

MAMPのMySQLが突然起動しなくなった。

mysql_error_log.err を見るとInnoDBが起動できないのが原因の様子。

[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting

dbフォルダにあったlib_logfile0とlib_logfile1を捨ててたら起動できた。
なんでかな。

PHP, PDOでMySQL接続時の文字コード設定

MySQL接続時に文字コード"utf-8"を指定したい – だって文字化けするんだもんの巻。

"SET NAMES `utf8`" は使っちゃダメよと大垣さんがおっしゃってたのでこれは使わない。
代わりに mysql_set_charset('utf8'); を使うらしいのだけどPDOでは使えない模様。

で次のようにして解決しました。

try {
    $pdo = new PDO($db_dsn,$db_user, $db_password,
        array(
            PDO::MYSQL_ATTR_INIT_COMMAND => "SET CHARACTER SET `utf8`"
        )
    );
} catch (PDOException $e) {
    die($e->getMessage());
}

Google先生にお聞きしてあっちこっちのサイトのコードを試したのでどちらが出典なのか記録を取っておらず不明です、ごめんなさい。

これだったかも
PHP Document
http://php.net/manual/ja/ref.pdo-mysql.php
Davy Defaud氏のコメント。

正規表現ツール

正規表現チェックツール via 「正規表現クックブック」

【オンライン】
Rubular
http://www.rubular.com/

regexpal
http://regexpal.com/

regex.larsolavtorvik.com
http://regex.larsolavtorvik.com/

Regular Expression Editor
http://myregexp.com/

Nregex
http://www.nregex.com/nregex/default.aspx

reAnimator
http://osteele.com/tools/reanimator/

【デスクトップ】

・Windows
RegexBuddy
http://www.regexbuddy.com/

・Mac
Reginald RegEx explorer
http://atastypixel.com/blog/reginald-regex-explorer/

WordPressプラグインJetpackスゲ!

WordPressに新しく登場したAutomattic謹製Jetpackプラグインがスゴイ件。

http://jetpack.me/

詳しくはWordPress.com 日本語ブログ「インストール型 WordPress を Jetpack でパワーアップ」をご覧下さい。

良くわかんないよー、な人はまずインストールしちゃいましょう。
プラグイン > 新規追加
検索:jetpack
でインストールできるはずです。

次にWordPress.comのアカウントIDとパスワード入力を求められるので入力しましょう。
Akismet使うのに多分アカウントは持ってるはずです。
[Authorize]してJetpackの各機能を使うことができます。

Jetpackメニュー画面で各項目の「さらに詳しく」をクリックするとどんなことができるか日本語で説明が出てきます。

Jetpackの名に恥じない色々ま機能がパッケージされた強力なプラグインです。

WordCamp Fukuoka 2011 協賛、スプラッシュムービー

いよいよ本日、2011-02-19 WordCamp Fukuoka 2011が開催されます。

少しだけお話しさせていただくのですが、その内容に合わせて本日1日限りコンテンツ表示前にスプラッシュムービーが表示されます。
ご容赦ください。

update

2011-02-21
こちらのページだけスプラッシュムービーが表示されるように変更しました。

「うざい」
「じゃま」

と感じられた方は

スプラッシュムービー「ダメ!絶対!」という気持ちを共有してください。