get_home_url()

マルチサイトで<?php bloginfo(‘url’); ?>の代わりに使うとGoodです。引数にブログIDを指定することにより、任意のブログのURLを取得することができます。
このタグを知るまで、いちいちswitch_to_blog();を使っていました^^;

引数

  • blog_id…ブログのID
  • path…ホームURLからの相対パス。
  • scheme…URLスキーム。現在利用できるのは ‘http’ と ‘https’。

コード記述例

ID2のブログのURLを表示

[html]<?php echo get_home_url(2); ?>[/html]

ID3のブログのURL直下に「/abc」を追加しURLスキームを「https」に変更。

[html]<?php echo home_url(3,’/abc’,’https’); ?>[/html]

現在のブログIDを自動的に取得してURLを吐き出す(実用性低いですがメモとして)

<?php
global $current_blog;
$this_blog_id = $current_blog->blog_id;
echo $this_blog_id;
echo get_home_url($this_blog_id);
?>

the_category()

現在の記事が属するカテゴリへのリンクを表示します。

位置

ループ内・外
※シングルページではどこに入れても問題ありませんが、アーカイブページだと入れる場所や、ページ内のループ等の要素により、思いがけないカテゴリを取得したりします。

引数

  • separator…(文字列) 各カテゴリリンクの間に表示する文字列・記号。デフォルトでは、番号なし箇条書き(<ul>)でリンクを並べます。
  • parents[オプション値]…(文字列) 記事が子(サブ)カテゴリに属するとき、カテゴリリンクで「親子」関係をどう表示するか?
    ※post_idを指定している時のみ動作するようです。
    ‘multiple’ – 親・子カテゴリへのリンクを分けて表示
    ‘single’ (初期値) – 親・子カテゴリを表示するが、リンクはまとめて子カテゴリへのリンクとなる。
    指定なし…子カテゴリのみ表示し、子カテゴリへのリンクとなる。
  • post_id…(整数) カテゴリを取得したい投稿ID。初期値は false(現在の投稿)。

 

コード記述例

<?php // 現在の記事が属するカテゴリへのリンクを<ul class="post-categories">で囲んで表示
the_category(); ?>
<?php // ID220の投稿が属する子カテゴリーへのリンクを表示する
the_category('','',220); ?>

previous_post _link()

シングルページで前のページへのパーマリンクを表示するのに使います。日付順で表示している記事からみてひとつ古い記事へのリンクを表示します。
※ひとつ新しい記事へのリンクはnext_post_link()を使います。

図解previous_post_link()

このタグに関するCodexの説明は、少し解りづらい部分があります。引数「in_same_cat」をtrueにし、同時に「excluded_categories」を指定する意味が私にはわかりません…。コード記述例をまるごと覚えてしまったほうが早いかもしれません。

あと、カスタムタクソノミーのシングルページにおいては、引数「in_same_cat」をtrueにすると動きません(リンク自体表示されない)。同一カスタムタクソノミー内での遷移は出来ないのかもしれません。falseにしてやるとリンクが表示され、同一カスタムポストタイプ内での遷移になります。…これ解るまで時間がかかりました…。

ちなみに、archiveページにこのタグをいれても表示はされます。が、リンク先がシングルページになってしまいます。archiveページでページングをしたいときはposts_nav_link()を使います。

位置

ループ内(ループ外でも動いてるっぽい)

引数

  • format…「%link」でURLを吐き出します。タグによる整形も可能。
  • link…「前の記事へ」のように、好みの文字列に変更できます。
  • in_same_cat…表示している記事と同じカテゴリーの前の記事を表示するかどうかを「true」または「false」で設定します。「true」の場合、同じカテゴリーの記事だけが表示されます。デフォルトは「false」です。カスタムタクソノミーのシングルページでは「true」だと動かないので注意。
  • excluded_categories…表示させたくない記事のカテゴリー ID の番号。Codexには「and」で区切ると書いてありますが、カンマ「,」で区切ります。

コード記述例

同一カテゴリー内で遷移する。文字を「前の記事へ」に変更

<?php previous_post_link('%link', '前の記事へ', true); ?>

get_posts()

新着何件など、いろいろな用途に使います。マルチループ(複数ループ)を作成するためのシンプルなタグです。また、グローバル変数$wp_queryを変更しません。 表示件数のデフォルトが5件なので注意。気づかずに10分くらい悩みました。 全件表示にしたいときは引数で「numberposts=-1」とすればOKです。

位置

ループ外

引数

  • $numberposts…取得する投稿の数。デフォルトは5件。全件出すには「-1」にする。
  • $offset…先頭から何件の投稿を除外するか。
  • $category…指定したカテゴリID の投稿のみを返す。カテゴリID をマイナスにすると除外。複数のカテゴリを指定する場合は、カンマで区切る(配列不可)。
  • $category_name…カテゴリースラッグで指定
  • $tag…指定したタグスラッグの投稿のみを返す。
  • $orderby
  • 'author' – 著者ID。
  • 'category' – カテゴリID。
  • 'content' – コンテンツ。
  • 'date' – 作成日。
  • 'ID' – 投稿ID。
  • 'menu_order' – メニュー。ページとアタッチメントでのみ有効。
  • 'mime_type' – MIME type。アタッチメントでのみ有効。
  • 'modified' – 最終更新日
  • 'name' – stub。
  • 'parent' – 親ID。
  • 'password' – パスワード。
  • 'rand' – ランダム。
  • 'status' – ステータス。
  • 'title' – タイトル。
  • 'type' – 投稿タイプ。
  • $order
    • 'DESC' – 降順(高から低)。
    • 'ASC' – 昇順(低から高)。
  • $include
  • $exclude
  • $meta_key and $meta_value
  • $post_type
  • $post_status
  • $post_parent…このIDの投稿の子のみを表示する。
  • $nopaging…ページングを有効/無効にする。ページングを無効にすると $numberpostsオプションが無視される。

タグ使用例

カテゴリースラッグexampleの投稿を全件出力(2012.9.3一部修正)


カテゴリーからカテゴリー名を出力

<?php // カテゴリーからカテゴリー名を出力
$category = get_the_category();
echo $category[0]->cat_name;
?>

※query_posts()でいうところのwp_reset_query()にあたるものが、get_posts()にもあります。 です。 しかし、個人的には使いどころがいまいち解っていません。。 解っていないけれどいつか使うかもしれないのでメモ。

の使いどころがわかりました。そして、その前に上記のコード見本に肝心な記述が抜けている事もわかりました。。。
既に修正したのですが、「foreach($myposts as $post)  」のあとに必要な「setup_postdata($post)」が今まで抜けておりました…すみません。
これがないと、get_posts()では、the_content() のコンテンツや ID などが使えないのですね。
そして、最後はwp_reset_postdata()でリセットします。
※ご指摘くださった方へ…貴重なご指摘ありがとうございました。間違いに全く気づいていなかったので、とても助かりました!         2012年9月3日 記

 

wp_list_categories()

リンク付きカテゴリーリストを表示します。カテゴリーリンクをクリックすると、テンプレート階層ルールに基づく適切なカテゴリーテンプレートを用いたカテゴリーページに、そのカテゴリーに属する全ての記事が表示されます。

位置

ループ外

 

引数

  • show_option_all
  • orderby
  • order
  • show_last_updated
  • style
  • show_count
  • hide_empty
  • use_desc_for_title
  • child_of
  • feed_type
  • feed_image
  • exclude
  • exclude_tree
  • include
  • hierarchical
  • title_li
  • number
  • echo
  • depth
  • current_category
  • pad_counts
  • taxonomy
  • walker

コード記述例

カテゴリ一覧を出力(カテゴリスラッグからIDを取得)

<?php //カテゴリ一覧を出力(カテゴリスラッグからIDを取得)
wp_list_categories("title_li=&include=" .(get_category_by_slug('info')->term_id). "," .(get_category_by_slug('event')->term_id). "," .(get_category_by_slug('plan')->term_id));
?>

あるカテゴリに属する子カテゴリをリストで取得

<?php //あるカテゴリに属する子カテゴリをリストで取得
$cat_now = get_the_category();
$cat_now = $cat_now[0];
$parent_id = $cat_now->category_parent;
?>
<?php wp_list_categories("title_li=&child_of=$parent_id"); ?>

カスタムタクソノミーのリスト

<ul>
<?php // カスタムタクソノミーのリスト
wp_list_categories('taxonomy=example&orderby=ID&order=DESC&title_li='); ?>
</ul>