- ブログ記事ID
- ブログ記事タイトル
- ブログ記事内容
- ブログ記事概要
- ブログ記事URL
- ブログ記事投稿日時
- ブログ記事投稿ユーザ
- ブログ記事ループ
- ブログ記事のカテゴリー
- ブログ記事のベースネーム(スラッグ)
- 特定のカテゴリーに所属するブログ記事
- 特定のブログ記事のデータ
ブログ記事ID
■MTの場合
[HTML]
<$MTEntryID$>
[/HTML]
■Wordpressの場合
[PHP]
//echoあり(※0)
the_ID();
//echoなし:パターン1(※0)
$id;
//echoなし:パターン2(※0)
get_the_ID();
//echoなし:パターン3(※1)
$post->ID;
//echoなし:パターン4(※2)
$hoge->ID;
[/PHP]
ブログ記事タイトル
■MTの場合
[HTML]
<$MTEntryTitle$>
[/HTML]
■Wordpressの場合
[PHP]
//echoあり(※0)
the_title();
//echoなし:パターン1(※0)
get_the_title();
//echoなし:パターン2(※1)
$post->post_title;
//echoなし:パターン3(※2)
$hoge->post_title;
[/PHP]
ブログ記事内容
■MTの場合
[HTML]
<$MTEntryBody$>
[/HTML]
■Wordpressの場合
[PHP]
//echoあり(※0)
the_content();
//echoなし:パターン1(※0)
get_the_content();
//echoなし:パターン2(※3)
$post->post_content;
//echoなし:パターン3(※3)
$hoge->post_content;
[/PHP]
ブログ記事概要
■MTの場合
[HTML]
<$MTEntryExcerpt$>
[/HTML]
■Wordpressの場合
[PHP]
//echoあり(※0)
the_excerpt();
//echoなし:パターン1(※0)
get_the_excerpt();
//echoなし:パターン2(※1)
$post->post_excerpt;
//echoなし:パターン3(※2)
$hoge->post_excerpt;
[/PHP]
ブログ記事URL
■MTの場合
[HTML]
<!--パターン1-->
<$MTEntryLink$>
<!--パターン2-->
<$MTEntryPermalink$>
[/HTML]
■Wordpressの場合
[PHP]
//echoあり(※0)
the_permalink();
//echoなし(※5)
get_permalink();
[/PHP]
ブログ記事投稿日時
■MTの場合
[HTML]
<$MTEntryDate$> ※6
[/HTML]
■Wordpressの場合
[PHP]
//echoあり(※7)
the_time();
//echoなし:パターン1(※7)
get_the_time();
//echoなし:パターン2(※8)
$post->post_date;
//echoなし:パターン3(※8)
$hoge->post_date;
[/PHP]
ブログ記事投稿ユーザ
■MTの場合
[HTML]
<$MTEntryAuthorDisplayName$>
[/HTML]
■Wordpressの場合
[PHP]
//echoあり(※0)
the_author();
//echoなし:パターン1(※0)
get_the_author();
//echoなし:パターン2(※9)
$author = get_userdata($post->post_author);
echo $author->display_name;
//echoなし:パターン3(※9)
$author = get_userdata($hoge->post_author);
echo $author->display_name;
[/PHP]
ブログ記事ループ
■MTの場合
[HTML]
<MTEntries>
~
</MTEntries>
[/HTML]
■Wordpressの場合
[PHP]
//パターン1:the_post()の場合(※10)
if (have_posts()) :
while ( have_posts() ) : the_post();
~
endwhile;
endif;
//パターン2:get_posts()の場合(※11)
$hoges = get_posts();
foreach($hoges as $hoge){
~
}
[/PHP]
ブログ記事のカテゴリー
■MTの場合
[HTML]
<!--パターン1:ブログ記事のメインカテゴリー(カテゴリ名のみ)-->
<$MTEntryCategory$>
<!--パターン2:ブログ記事のメインカテゴリー(リンクつき)-->
<a href="<$MTEntryLink archive_type='Category'$>"><$MTEntryCategory$></a>
<!--パターン3:ブログ記事のすべてのカテゴリー-->
<MTEntryCategories>
~
</MTEntryCategories>
[/HTML]
■Wordpressの場合
WordPressの場合は、メインカテゴリーというものがありません。
[PHP]
//echoあり(リンク付で表示)
the_category(',');
//echoなし:パターン1:get_the_category()の場合(※12)
$hoges= get_the_category($id);
foreach($hoges as $hoge){
~
}
//echoなし:パターン2:get_the_terms()の場合(※12)
$hoges= get_the_terms($id, 'category');
foreach($hoges as $hoge){
~
}
[/PHP]
ブログ記事のベースネーム(スラッグ)
■MTの場合
[HTML]
<$MTEntryBasename$>
[/HTML]
■Wordpressの場合
意外にもthe_slug()やget_the_slug()なんて関数はないので注意。
[PHP]
//echoなし:パターン1(※1)
$post->post_name;
//echoなし:パターン2(※2)
$hoge->post_name;
[/PHP]
特定のカテゴリーに所属するブログ記事
■MTの場合
[HTML]
<MTEntries category="カテゴリー名">
~
</MTEntries>
[/HTML]
■Wordpressの場合
[PHP]
//echoなし
$hoges = get_posts(array('category'=>カテゴリーID));
foreach($hoges as $hoge){
~
}
[/PHP]
特定のブログ記事のデータ
■MTの場合
[HTML]
<MTEntries id="ブログ記事ID">
~
</MTEntries>
[/HTML]
■Wordpressの場合
[PHP]
//echoなし
$hoges = get_posts(array('include'=>投稿ID));
$hoge = $hoges[0];
[/PHP]
注釈
※0:
the_〇〇、get_the_〇〇はthe_post();によって更新されます。
$idも同様にthe_post();によって更新されるグローバル変数です。
※1:
$postは投稿情報が入っているグローバル変数。投稿IDが取得できます。
the_post();によって更新されます。
※2:
get_post()またはget_posts()で投稿情報を取得した場合。$hogeは任意の変数。
例)
$hoges = get_posts();
foreach($hoges as $hoge){
$hoge->post_title;
$hoge->post_content;
}
※3:
$post・$hogeについては、※1※2を参照。
$post->post_content; と $hoge->post_content; は本文+続きのデータ。
分けるためにはget_extended()を使用する。
$content = get_extended( $post->post_content );
$content['main']; //本文
$content['extended']; //続き
※4:
the_content("", true); または get_the_content("", true); は続きのみを表示するのではなく、本文+続きのデータ。
※5:
get_the_permalink(); ではなくget_permalink();
IDを引数に渡すことにより、任意の記事のURLを取得することができます。
例)get_permalink(21);
※6:
MTEntryDateはフォーマットを設定する必要があります。
例)<$MTEntryDate format="%Y年%m月%d日 %H:%I:%S"$>
→ 2013年06月24日 16:03:12
※7:
the_time()とget_the_timeはフォーマットを指定する必要があります。
例)the_time("Y年m月d日 H:i:s");
→ 2013年06月24日 16:03:12
the_date()を使用しない理由は、ループ内で使用すると同じ日付だと最初の1回しか出ないため。
※8:
$post・$hogeについては、※1※2を参照。
post_dateで取得できる日時フォーマットは、「%Y-%m-%d H:i:s」
任意のフォーマットにしたい場合は
date("Y年m月d日 H:i:s", strtotime($post->post_date));
とします。(一度timeに戻してdate関数でフォーマットする。)
※9:
$post・$hogeについては、※1※2を参照。
post_author では投稿者のIDしか取得できないので、get_userdataで投稿者データを取得します。
さらにその中身は連想配列になっているので、display_nameから表示名を取得します。
※10:
while ( have_posts() ) : the_post();~
のループは、インデックスやカテゴリー、アーカイブ、投稿テンプレートで使用すると、それに該当する投稿記事を自動的に取得してくれます。
任意の記事を取得する場合はquery_posts()やpre_get_posts()を使用する必要があります。
くわしくはこちらのサイト参照。
query_posts:WordPress私的マニュアル
テンプレートタグ/query posts - WordPress Codex 日本語版
query_postsを捨てよ、pre_get_postsを使おう【追記あり】【報告あり】 | notnil creation weblog
※11:
get_posts()の場合は、条件を指定する必要があります。
何も指定しない場合は、すべての投稿の中から新着順に5件取得します。
くわしくはこちらのサイト参照。
get_posts:WordPress私的マニュアル
※12:
get_the_terms($id, "category");
は
get_the_category($id);
と同じ。
ただしカスタムタクソノミーの場合は、get_the_termsを使用する必要があります。
くわしくはこちらのページを参照。
【Wordpressメモ】ブログ記事IDからカテゴリー(タクソノミー)情報を取得する | ダリの雑記:WEBプログラム版
$idはthe_post();によって更新されます。
任意の投稿IDを入れることによって、そのIDの投稿のカテゴリーを取得することができます。