pageの条件分岐「is_tree()」

pageの条件分岐にも色々とありますが案外活用できるのが「is_tree()」
サイドバーに表示するメニューをページごと、さらに親子関係の子ページは親ページと同じ表示内容を実現したいときなど、is_treeによって簡潔に記述できます。
例えば、ページID150のページはID123の子ページだとします。この場合下記のコードによって子ページにも処理内容が反映されます。
<?php if(is_tree(123)){ ?>
ここに処理を記述
 <?php } else { ?>
<?php } ?>

アイキャッチ画像の取得・表示

WordPress2.9から導入されたアイキャッチ画像(サムネイル)の取得・表示コードサンプル
<?php the_post_thumbnail(); ?> // パラメータなし 原寸で表示
<?php the_post_thumbnail(‘thumbnail’); ?> // サムネイル
<?php the_post_thumbnail(‘medium’); ?> // 中サイズ
<?php the_post_thumbnail(‘large’); ?> // 大サイズ
<?php the_post_thumbnail( […]

query_posts()の注意

~CODEXより転載~
query_posts() は テンプレート ファイル内で WordPress ループ が始まる前に記述します。wp_query オブジェクトは与えられた引数から新しい SQL クエリを作ります。このとき、WordPress は(ページ番号やカテゴリーのような)URL から得られた引数を無視します。もしその情報が必要なら、query_posts() の引数としてグローバル変数の $query_string を与えます。
例えば、他のクエリ引数に影響を与えずに投稿の表示順序だけを指定したいなら WordPress ループ の前に以下のように記述します:
global $query_string;
query_posts($query_string . “&order=ASC”);
この形式で query_posts を使う場合は、二重引用符で囲んだ引数をアンド記号(&)で始めてください。

Poeditで日本語を変更(パスワード保護の「保護中:」表記の削除など)

ページ(page)や投稿を「パスワードで保護」すると、<?php the_title(); ?>で出力されるタイトルに「保護中:」と表示されます。同様に非表示設定の場合には「非表示:」と表示されてしまいます。
この「保護中:」の表記を削除するにはja.poをPoeditで編集して保存時に同時生成されるja.moをアップロードすることで解決できます。
また、サイト登録を許可している場合、登録画面には「このブログに登録する」と表示されます。WordPressを一般のブログとして使うならともかく会社サイト等の場合この表示は変更しておきたいところ。
Poedit を使って日本語を変更

まずはここからPoedit をダウンロード
画面の指示に従いインストール。インストール時に言語の選択をJapaneseに。
/wp-content/languages/ にある ja.po と ja.mo 2つのファイルをダウンロード。
ダウンロードしたファイルはバックアップしておく。
ja.po をダブルクリックしてPoedit が起動。
先にPoeditを起動した場合はツールバー の一番左のアイコン(カタログを開く)をクリックしてja.poを開く。
日本語訳に書き換える
「ファイル」→「保存」または「名前を付けて保存」で、元の ja.po ファイルを上書きする。
このときja.mo も同時に上書きされる。
ja.mo を上書きアップロードする。

特定のカテゴリアーカイブページへのリンクを出力

<?php $category_link = get_category_link(カテゴリID番号); ?>
<a href=”<?php echo $category_link; ?>” title=”サンンプルカテゴリ一覧”> サンプルカテゴリ一覧 >></a>
または
<?php
$category_id = get_cat_ID( ‘サンプルカテゴリ’ );
$category_link = get_category_link( $category_id );
?>
<a href=”<?php echo $category_link; ?>” title=”サンプルカテゴリ” > サンプルカテゴリ一覧 >></a>

iPhoneやAndroid携帯でサイト表示

WordPressサイトをiPhoneやAndroid携帯で表示させるプラグインの紹介です。
その名は「WPtouch」。
<使用方法>

WPtouch: Mobile Plugin + Theme for WordPressからダウンロード、解凍。
wp-content/plugin/ ディレクトリに フォルダごとアップロードする。
管理画面から プラグイン>WPtouch iPhone Themeを「使用する」にします。
各種設定には ツール>WPtouchを選択して下記の管理画面から。

<画面シミューレーション>

プラグインの導入は上の手順でOKですが、私のようにiPhoneやAndroid携帯を持っていない場合の画面確認はシミューレーターを使います。
Windows用のiPhone&Androidシミュレータ「iBBDemo」のダウンロードはこちら
(Safari3.x以上がインストールされていることが条件)

zip形式のファイルを任意のフォルダにダウンロード、解凍後、実行ファイルダブルクリックでアプリケーションが起動します。私はデスクトップにショートカット作成して使用。

カテゴリーアーカイブで異なるテンプレートを適用する

カテゴリーページを他のアーカイブページと異なった表示をさせる場合、下記の優先順位でテンプレートファイルが適用されるので目的のテンプレートファイルを作成、編集すればOKです。デフォルトではcategory-6.phpやcategory.phpはありませんのでarchive.phpをコピー、ファイル名を変更、内容編集といった手順になります。

category-6.php
カテゴリーIDが6の表示を変更する場合に作成、編集。
category.php
カテゴリーアーカイブを他のアーカイブと異なる表示する場合に作成、編集。
archive.php
すべてのアーカイブを定義する。
ndex.php

  
詳細は、Codex カテゴリーテンプレート参照

検索結果で検索ワードをハイライト

サイト内での検索の際、検索結果画面で検索ワードをハイライトさせるプラグインです。
その名は 「searchword-highlight」
検索ワードがハイライトすることで利便性が飛躍的に向上します。
このプラグイン、サイト内検索のみならずYahoo、Googleの検索結果から移動してきた場合にもハイライト表示されます。
<使用方法>

searchword-highlight-1.02.zip からダウンロード、解凍。
wp-content/plugin/ ディレクトリに フォルダごとアップロードする。
管理画面から プラグイン>Search Word Highlight for Mutibyte を「使用する」にします。
各種設定には ツール>Search Word Highlight を選択して下記の管理画面から。

※すべての対象検索ワードについてハイライトするわけではありませんので、詳しくは試用してみてください。

カテゴリーの並び順を変更する

カテゴリーの並び順でお悩みの方、ここで紹介するプラグインの導入で気持ちよく解消します。
その名は「My Category Order」!
<使用方法>

まずはプラグイン My Category Order をダウンロードする。
解凍後、/wp-content/plugin/ 内にmy-category-orderファルダとその中身すべてをそのままをアップする。
/wp-includes/ 内にtaxonomy.phpを書き込み可能なパーミッション(666、606など)に変更。
ダッシュボードよりプラグインを開いてMy Category Orderを有効にする。
投稿>My Category Orderから順番をドラッグ&ドロップによって変更する。

wp_list_categoriesのパラメータを以下のようにする。wp_list_categories(’orderby=order&title_li=’);

My Category Orderはウィジェットからサイドバー上に有効に反映されますが、ウィジェットを使用すると手書きで記述したサイドバーの内容が反映されませんので注意が必要です。例えば下記のような条件分岐タグなどが反映されません。
<?php if(is_home()){ ?>
 開いているページがホームの場合に表示する内容 
<?php } else { ?>
 ホーム以外の場合に表示する内容
<?php } ?>
カテゴリーをリンクつきリストで表示するWPテンプレートタグ wp_list_categories の詳細はこちらへ>>