WordPerssでカスタムフィールドの値を取得
WordPerssでカスタムフィールドの値を取得する関数が、
get_post_meta()
です。
投稿記事以外の場所に、ひとこと挿入したいときに利用できます。
PHP形式で出力されます。
この関数はパラメータ挿入ができます。
get_post_meta(①,②,③);
①metaデータが属する記事idを指定する
通常は、$post->ID を使って記事のidを取得②キーの文字列を指定
③配列の返し方
TRUE ・・・ 配列の最初を1つの文字列として返す
FALSE ・・・ 配列として返す
たとえば、その記事のカスタムフィールドのキー「wordpress」の値を表示したいときは、次のように記述します。
<?php echo get_post_meta($post->ID,wordpress,TRUE); ?>
配列で出力したいときは、foreach関数を利用するといいでしょう。
投稿記事のカテゴリーの情報を出力する
WordPressで、投稿記事のカテゴリーid、カテゴリー名、スラッグなどの情報を出力する関数が、
get_the_category()
です。
PHP形式で出力され、ループ内で使用します。
この関数が出力できる情報は以下の通りです。
①カテゴリーid cat_ID
②カテゴリー名 cat_name
③カテゴリースラッグ category_nicename
④カテゴリーの概要 category_description
⑤親カテゴリーid category_parent
※無い場合は「0」を出力⑥投稿記事数 category_count
get_the_category()は、カテゴリー情報を配列で出力するので、foreach関数などを利用します。
<?php if(have_posts()):while(have_posts()):the_post(); ?>
<?php foreach((get_the_category()) as $cat){
echo $cat->cat_name;
}?>
<?php endwhile;endif; ?>
指定したページのときにソースを挿入する条件タグ
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(); ?>
ループタグの条件を指定する<?php $posts=get_posts(); ?>
WordPressでループタグの条件を指定するテンプレートタグが、
<?php $posts=get_posts(); ?>
です。
このタグは、ループタグが
<?php if($posts):foreach($posts as $post):setup_postdata($post); ?>
~
<?php endforeach;endif; ?>
のときに使用します。
ちなみに、<?php query_posts(); ?>は、ループタグが
<?php if(have_posts()):while~ ?>
のときに使用します。
この<?php $posts=get_posts(); ?>はパラメータ挿入して使用します。
<?php $posts=get_posts(’①&~&⑤’); ?>
①numberposts
記事数を指定
デフォルトは、「5」②offset
最新の投稿記事から数えて、何番目の記事を表示するか指定
デフォルトは、「0」③category
選択する投稿記事のカテゴリーid(数値)を指定④orderby
表示順を設定
post_author ・・・ 投稿ユーザーid
post_date ・・・ 投稿日(デフォルト)
post_modified ・・・ 更新日
post_name ・・・ 投稿記事スラッグ
post_title ・・・ 投稿記事タイトル
ID ・・・ 投稿記事id⑤order
表示順を指定
ASC ・・・昇順
DESC ・・・降順(デフォルト)
たとえば、記事数を10個で、記事タイトルの順に表示したいときは、次のように記述します。
<ul>
<?php $posts=get_posts('numberposts=10&orderby=post_title'); ?>
<?php if($posts):foreach($posts as $post):setup_postdata($post); ?>
<?php the_title('<li>','</li>'); ?>
<?php endforeach;endif; ?>
</ul>
ループタグの条件を指定する<?php query_posts(); ?>
WordPressでループタグの条件を指定するテンプレートタグが、
<?php query_posts(); ?>
です。
このテンプレートタグはパラメータ挿入して使用します。
<?php query_posts(’①&~&⑱’); ?>
①cat
指定したカテゴリーid(数値)の投稿記事を選択②category_name
指定したカテゴリースラッグ(文字列)の投稿記事を選択③author_name
指定したユーザー(ユーザー名)の投稿記事を選択④author
指定したユーザーid(数値)の投稿記事を選択⑤p
指定した投稿記事id(数値)の投稿記事を選択⑥name
指定した投稿記事スラッグ(文字列)の投稿記事を選択⑦page_id
指定したページid(数値)のページを選択⑧pagename
指定したページタイトル(文字列)のページを選択⑨showposts
投稿記事の表示数を指定⑩hour
指定した時間(時)の投稿記事を選択⑪minute
指定した時間(分)の投稿記事を選択⑫second
指定した時間(秒)の投稿記事を選択⑬day
指定した日付(日)の投稿記事を選択⑭monthnum
指定した日付(月)の投稿記事を選択⑮year
指定した日付(年)の投稿記事を選択⑯paged
複数ページのとき、表示するページ数を指定⑰posts_per_page
1ページに表示する投稿記事数を指定
「-1」のときは全て表示⑱order
表示順を指定
ASC ・・・昇順
DESC ・・・降順(デフォルト)
たとえば、カテゴリーidが1と3の投稿記事を、最新から10個表示したいときは、次のように記述します。
<ul>
<?php query_posts('cat=1,3&showposts=10'); ?>
<?php if(have_posts()):while(have_posts()):the_post(); ?>
<?php the_title('<li>','</li>'); ?>
<?php endwhile;endif; ?>
</ul>
WordPressでトラックバックを表示する<?php trackback_url(); ?>
WordPressでトラックバックを表示するテンプレートタグが、
<?php trackback_url(); ?>
です。
ループ内で使用します。
続きを読む・・・
WordPressでコメント数を表示する<?php comments_number(); ?>
WordPressで投稿記事のコメント数を表示するテンプレートタグが、
<?php comments_number(); ?>
です。
ループ内で使用します。
続きを読む・・・
