[WP]get_posts()関数について

get_posts関数の使い方とCSS Template Listsのページでやってることを紹介しますん。

CSS Template Listsではカテゴリーに記事がpublicで投稿されたら、記事のサムネイルになる画像にリンク貼って一覧表示しています。
記事のサムネイルについては設定や表示をするプラグインもありますが、プラグイン使わなくてもやれる方法があるよ、ってことで。

あるカテゴリーの記事をリストアップしたいという場合、この記事のサンプルのように
普通はquery_posts()とか使うと思いますが

<?php query_posts('cat=5');if (have_posts()) :?>
<?php while (have_posts()) : the_post(); ?>
<div class="post">
<?php the_content(__('Read More »')); ?>
</div>
<?php endwhile;?>
<?php wp_reset_query();endif;?>

実際使ってみると出来ないことの方が多い。ので、

以前Post, Page, and Attachment Functionsでちらっと書いた
queryよりもスマートに取得出来る、get_posts()を使用する。

※カスタマイズ初心者には難しいかもしれない

続きを読む

[WP]ショートコードAPI仕様メモ

wordpress2.5から実装されたショートコードについて。
ショートコードというのは、タグの簡易版みたいなものです。プラグインではよくお目にかかります。
2.5から本文中に[gallery]と入力すると、その記事でアップロードされた画像がサムネイルで一覧表示される機能がありますが、こういうのを自作できるわけです。

胡散臭いまとめは信用ならねぇ、という方は公式サイトの説明を見てください。
※この記事は本家解説の完全翻訳はしてません

手っ取り早く作ってみる

下のソースをアクティブになってるテーマのfunction.phpにコピペする。

function bartag_func($atts) {
	extract(shortcode_atts(array(
		'foo' => 'no foo',
		'baz' => 'default baz',
	), $atts));

	return "foo = {$foo}";
}
add_shortcode('bartag', 'bartag_func');

▼投稿画面で次のタグを記入すると、それぞれ違う出力結果になります。

[ bartag ]と本文に投稿→foo = no foo
[ bartag foo=”bar” ]と本文に投稿→foo = bar

続きを読む

[WP]テンプレートファイルの仕様と構成

テンプレートファイルの役割やら構成なんかについてのまとめ。そこそこ初心者向け。

WordPressテーマ概要

WordPressのデザインはテーマと呼ばれてます。テーマを構成するファイル群がテンプレートファイルです。
他のブログのようにテーマをテンプレートと呼んでも通じるけど、検索するときはテーマ(Theme)を使う方が良いかも。

ダウンロードしたばかりだと”Classic” と “Default”の2つがプリインストールされてますが、
テーマ新しく追加する場合は、ダウンロードして解凍したテーマのフォルダをWordpressのwp-content/themes/にアップロードするだけ。
デザイン(表示)に並ぶテーマのスクリーンショットをクリックすれば即座に変更されます。
テーマ変更で再構築が必要ない、というのがWordpressの良いところ。

WordPressは1.x系、2.0.x系、2.1.x系、2.2以降と2.5以上では内部仕様が違ってるので、テーマやプラグインはバージョンにあったものを選ばないとエラーが出たりするので注意。
特に2.7は最新とあって対応してるテーマやプラグインもまだ少ないようです。
公式のリスト»
WordPress 2.7 Theme Compatibility List
WordPress 2.7 Plugin Compatibility List
ver2.5→ver2.7に修正

WordPressはコアファイル・プラグイン等全てPHPなので、PHPとmySQLに通じていればかなり色々なことができます。
テーマを構成するテンプレートファイルは、XHTMLとPHPのテンプレートタグで作成されてます。
XHTMLとUTF-8で記述するのがベターですが、HTMLでも文字コードさえ合ってれば問題はないです。
文字コードはWordpress2.5ではUTF-8のみになりました。
テキストエディタはBOM無しのUTF-8で保存できるものを選ぶ必要があります。(メモ帳はダメ!絶対)

テンプレートに記述するWordpress独自のPHPコードはテンプレートタグの他、ループファンクションなどかなり色々使えます。
PHPの関数や変数なんかも使えます。

続きを読む

[WP]wordpressテンプレートファイルの翻訳方法

プラグインと同じくテーマもmoファイルで翻訳可能らしいので作り方メモ。
幅広く使ってもらうテーマを作るなら必須と言える。
プラグインの翻訳もほぼ同じ。

翻訳には言語ファイルの編集ソフトが必要。
有名なのはpoEditだろうか。

参考:Translating WordPress

さらっとpoEditの使い方を書くと

  1. poEditを起動する
  2. 新規カタログ→プロジェクトの設定
    • プロジェクトの名前とバージョン→テーマの名前とか適当に
    • 翻訳チーム→自分の名前とか
    • 言語→japanese
    • 国→JAPAN
    • 文字符号化&ソースコードの(ry→UTF-8
    • ページのパス→「ドット」だけ入力
    • パス→「新しいアイテム」で「ドット」
    • キーワード→「__(アンダーバー2つ)」と「_e」
  3. OKしてテーマのフォルダ内に保存。ファイル名はja.po(プラグインなら、プラグイン名-ja.po)
  4. カタログのソースから更新で翻訳文取り込み
  5. ひたすら翻訳。保存したら自動的にmoが作成・更新される

続きを読む