カテゴリーリストを表示するテンプレートタグwp_list_categories()
WordPressでカテゴリーリストを表示するテンプレートタグが、
<?php wp_list_categories(); ?>
です。
wp_list_cats()を利用するのはやめて、wp_list_categories()を利用するように勧告されています。
リスト形式で表示されます。
<ul>
<?php wp_list_categories(); ?>
</ul>
このテンプレートタグはパラメータ挿入ができます。
<?php wp_list_categories(’①&②&③&~⑱’); ?>
①show_option_all
投稿記事がある全カテゴリーのリンク表示を指定
TRUE ・・・ 表示(デフォルト)
FALSE ・・・ 非表示②orderby
表示順序を指定
ID ・・・ カテゴリーid順
name ・・・ カテゴリー名順(デフォルト)
count ・・・ 投稿記事数順③order
表示順序の昇順、降順を指定
asc ・・・ 昇順(デフォルト)
desc ・・・ 降順④show_last_updated
最新の投稿日時の表示を指定
1(TRUE) ・・・ 表示
0(FALSE) ・・・ 非表示(デフォルト)⑤style
リスト形式<li>での出力可否設定
list ・・・ リスト形式(デフォルト)
none ・・・ 改行タグで仕切り⑥show_count
投稿記事数の表示を指定
1(TRUE) ・・・ 表示
0(FALSE) ・・・ 非表示(デフォルト)⑦hide_empty
投稿記事の無いカテゴリーの表示を指定
1(TRUE) ・・・ 非表示(デフォルト)
0(FALSE) ・・・ 表示⑧use_desc_for_title
aタグのtitle要素に、カテゴリー概要の挿入を設定
1(TRUE) ・・・ 表示
0(FALSE) ・・・ 非表示(デフォルト)⑨child_of
指定した親カテゴリー配下の子カテゴリーの表示を指定
カテゴリーid⑩feed
カテゴリーフィードへのリンク文字列を指定⑪feed_image
カテゴリーフィードへのリンク画像を指定
ex)feed_image=/images/rss.gif
デフォルトは空⑫exclude
非表示の投稿ページidを指定
カテゴリーid⑬include
表示する投稿ページidを指定
カテゴリーid⑭hierarchical
階層構造での表示を指定
1(TRUE) ・・・ 表示(デフォルト)
2(FALSE) ・・・ 非表示⑮title_li
カテゴリーリストのタイトル名の文字列を指定
デフォルトは、「カテゴリー」⑯number
表示するカテゴリーの数を指定
デフォルトは無制限⑰echo
出力形式を指定
1(TRUE) ・・・ 標準(デフォルト)
0(FALSE) ・・・ PHP形式⑱depth
階層の深さ(数値)を指定
※WordPress2.5から
0 ・・・ 全て表示 (デフォルト).
-1 ・・・ 全てを並列に表示
1 ・・・ 階層で1番上のカテゴリーのみ表示
n ・・・ n(整数)番目までのカテゴリーを表示
たとえば、カテゴリーリストのタイトルを表示せず、記事数を表示し、カテゴリーid=10配下の子カテゴリーだけを表示するときは、次のように記述します。
<ul>
<?php wp_list_categories('show_count=TRUE&child_of=10&title_li='); ?>
</ul>
WordPressでタグ名を表示するsingle_tag_title()
WordPress2.3から利用できるようになった、タグ名を表示するテンプレートタグが
<?php single_tag_title(); ?>
です。
タグページのみ表示されます。
このテンプレートタグはパラメータ挿入ができます。
<?php single_tag_title(’①’,'②’); ?>
①prefix
タグ名の前に記述する文字列を指定②display
出力形式を指定
TRUE ・・・ 標準形式(デフォルト)
FALSE ・・・ PHP形式
たとえば、タグ名の前に「タグ名:」という文字を表示したい場合は、次のように記述します。
<?php single_tag_title(’タグ名:’); ?>
タグクラウドを表示するwp_tag_cloud()
WordPress2.3から利用できるようになった、タグクラウドを表示するテンプレートタグが
<?php wp_tag_cloud(); ?>
です。
このテンプレートタグはパラメータ挿入ができます。
<?php the_tags(’①&②&~&⑨’); ?>
①smalles
一番小さいフォントサイズを指定
デフォルトは、「8」②largest
一番大きいフォントサイズを指定
デフォルトは、「22」③unit
pt、px、emなどのフォントサイズ単位を指定
デフォルトは、「pt」④number
表示するタグの数を指定
デフォルトは、「45」
「0」にすると、すべて表示⑤format
表示形式を指定
flat ・・・ 半角スペース区切りで横に並べて表示(デフォルト)
list ・・・ リスト形式で表示(ulタグも含めて表示)
※WordPress2.5から「array」も対応する予定⑥orderby
表示順序を指定
name ・・・ 名前順(デフォルト)
count ・・・ タグ数順⑦order
昇順、降順を指定
asc ・・・ 昇順(デフォルト)
desc ・・・ 降順⑧exclude
表示しないタグIDを指定⑨include
表示するタグIDを指定※タグIDは管理画面から調べることができませんが、ソースを見ると、aタグに「class=’tag-link-3′」と記述され、タグIDが「3」だとわかります。
ほかには、DBの「terms」でタグIDを管理しているので、phpMyAdminなどで確認できます。
WordPress2.5からタグIDを管理画面から確認できる予定です。
たとえば、一番大きいフォントサイズを18pt、タグ数が多い順で表示したいときは、次のように記述します。
<?php wp_tag_cloud('largest=18&orderby=count&order=desc'); ?>
WordPressでタグのリンクを表示するthe_tags()
WordPress2.3から利用できるようになった、タグのリンクを表示するテンプレートタグが
<?php the_tags(); ?>
です。
ループ内で使用します。
<?php if(have_posts()):while(have_posts()):the_post(); ?>
<?php the_tags(); ?>
<?php endwhile;endif; ?>
このテンプレートタグはパラメータ挿入ができます。
<?php the_tags(’①’,'②’,'③’); ?>
①before
前に表示する文字列を指定します
デフォルトは、「Tags: 」です②separator
タグ名を区切る文字列を指定します
デフォルトは、「,」です③after
最後のタグ名の後に表示する文字列を指定します
たとえば、リスト形式で表示したいときは、次のように記述します。
<?php if(have_posts()):while(have_posts()):the_post(); ?>
<?php the_tags('<ul><li>','</li><li>','</li></ul>'); ?>
<?php endwhile;endif; ?>
カテゴリーのURLとカテゴリー名を取得
WordPressで、カテゴリーのURLを取得する関数が、get_category_link()で、カテゴリー名を取得する関数がget_catname()です。
PHP形式で出力されます。
この関数は、カテゴリーIDを指定して利用します。
カテゴリーIDが、10のURLとカテゴリー名を取得したいときは、
<?php get_category_link(’10′); ?>
<?php get_catname(’10′); ?>
と記述します。
カテゴリー名をアンカー表示したい場合は、次のように記述します。
<a href="<?php echo get_category_link('10'); ?>">
<?php echo get_catname('10'); ?>
</a>
タイトルを表示するsingle_post_title()
WordPressで、投稿記事のタイトルを表示するテンプレートタグが
<?php single_post_title(); ?>
です。
<?php the_titile(); ?>
との違いは、ループが必要ない、記事シングルとページのみでタイトルを表示することです。
このテンプレートタグはパラメータ挿入ができます。
<?php single_post_title(’①’,②); ?>
①タイトル名の前に挿入する文字列
デフォルトは、空です。②出力形式を指定
TRUE ・・・ 標準形式(デフォルト)
FALSE ・・・ PHP形式
トップ(メイン)ページ、カテゴリーページ、日付ページなどでは表示されないので気をつけてください。
指定したページのときにソースを挿入する条件タグ
WordPressは共通のテンプレートファイルを利用することができますが、柔軟性にかけることがあります。
PHPのif文を利用し、指定したページのときにソースを挿入することができます。
その条件タグは以下の通りです。
①トップページ
is_home()②日付ページ
is_date()③月別ページ
is_month()④年別ページ
is_year()⑤日別ページ
is_day()⑥時間別ページ
is_time()⑦投稿記事シングルページ
is_single(’α’)
※α:記事を指定(記事id、タイトル、スラッグ)⑧ページ
is_page(’β’)
※β:ページを指定(ページid、タイトル、スラッグ)⑨カテゴリーページ
is_category(’γ’)
※γ:カテゴリーを指定(カテゴリーid、カテゴリー名、スラッグ)⑩ユーザーページ
is_author(’θ’)
※θ:ユーザーを指定(ユーザーid、ユーザー名)⑪アーカイブページ
is_archive()⑫検索ページ
is_search()⑬404ページ
is_404()
たとえば、トップページのとき『トップページ』、スラッグが「wordpress」のページのとき『WordPress紹介』と表示したいときは次のように記述します。
<?php if(is_home()); ?>
<p>トップページ</p>
<?php endif; ?>
<?php if(is_page('wordpress')); ?>
<p>WordPress紹介</p>
<?php endif; ?>
日付のアーカイブページのURLを取得する
WordPressで日付のアーカイブページのURLを取得するテンプレートタグが
get_year_link()
get_month_link()
get_day_link()
です。
PHP形式で出力されます。
このテンプレートタグはパラメータ挿入ができます。
get_year_link(’①’)
get_month_link(’①’,'②’)
get_day_link(’①’,'②’,,’③’)
①年を指定(数値)
デフォルトは、今年のデータ②月を指定(数値)
デフォルトは、今月のデータ③日を指定(数値)
デフォルトは、今日のデータ
2005年6月16日のアーカイブページにリンクをしたいときは、次のように記述します。
<a href=”<?php get_day_link(’2005′,’6′,,’16′); ?>”>2005年6月16日</a>
投稿記事のメールアドレス、ウェブサイトなどを表示するテンプレートタグ
WordPressで、投稿記事のメールアドレス、ウェブサイトなどの投稿者情報を表示するテンプレートタグは次の通りです。
①メールアドレスを表示
<?php the_author_email(); ?>
②ウェブサイトを表示
<?php the_author_url(); ?>
③AIM アドレスを表示
<?php the_author_aim(); ?>
④Yahoo メッセンジャーを表示
<?php the_author_yim(); ?>
⑤投稿記事数を表示
<?php the_author_posts(); ?>
⑥投稿者ページへのリンクを表示
<?php the_author_posts_link(); ?>
⑦ユーザーについてを表示
<?php the_author_description(); ?>
投稿者名、自己紹介、サイトアドレスを表示したいときは、次のように記述します。
<?php if(have_posts()):while(have_posts()):the_post(); ?>
投稿者名: <?php the_author(); ?>
自己紹介: <?php the_author_description(); ?>
サイト : <?php the_author_url(); ?>
<?php endwhile;endif; ?>
記事投稿者を表示するthe_author()
WordPressで投稿記事の投稿者を表示するテンプレートタグが<?php the_author(); ?>です。
ループ内で使用します。
デフォルトは、WordPress設定の「ユーザー」-「ユーザー設定」画面の「ブログ上の表示」で選択した名前が表示されます。
<?php if(have_posts()):while(have_posts()):the_post(); ?>
投稿者名: <?php the_author(); ?>
<?php endwhile;endif; ?>
「ブログ上の表示」で選択した名前ではなく、様々指定したいときは、次のテンプレートタグを使用します。
①ログイン名を表示
<?php the_author_login(); ?>
②ファーストネーム名を表示
<?php the_author_firstname(); ?>
③ラストネーム名を表示
<?php the_author_lastname(); ?>
④ニックネーム名を表示
<?php the_author_nickname(); ?>
