ダリの雑記:WEBプログラム版

MTタグとWordPressタグ【ブログ記事編】

メニューに戻る

 

ブログ記事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]

※0について
※1について
※2について

 

ブログ記事タイトル

■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]

※0について
※1について
※2について

 

ブログ記事内容

■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]

※0について
※3について

 

ブログ記事概要

■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]

※0について
※1について
※2について

 

ブログ記事URL

■MTの場合

[HTML]
<!--パターン1-->
<$MTEntryLink$>

<!--パターン2-->
<$MTEntryPermalink$>
[/HTML]

■Wordpressの場合

[PHP]
//echoあり(※0)
the_permalink();

//echoなし(※5)
get_permalink();
[/PHP]

※0について
※5について

 

ブログ記事投稿日時

■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]

※6について
※7について
※8について

 

ブログ記事投稿ユーザ

■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]

※0について
※9について

 

ブログ記事ループ

■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]

※10について 
※11について

 

ブログ記事のカテゴリー

■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]

※12について 

 

ブログ記事のベースネーム(スラッグ)

■MTの場合

[HTML]
<$MTEntryBasename$>
[/HTML]

■Wordpressの場合

意外にもthe_slug()やget_the_slug()なんて関数はないので注意。

[PHP]
//echoなし:パターン1(※1)
$post->post_name;

//echoなし:パターン2(※2)
$hoge->post_name;
[/PHP]

※1について
※2について

 

特定のカテゴリーに所属するブログ記事

■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の投稿のカテゴリーを取得することができます。

モバイルバージョンを終了