| MTタグとWordPressタグ【ブログ編】ブログトップ | CMS関連 | MySQL server has gone away
MTタグとWordPressタグ【ブログ記事編】
この記事は1年以上前の記事のため、内容が古い可能性があります。
- ブログ記事ID
- ブログ記事タイトル
- ブログ記事内容
- ブログ記事概要
- ブログ記事URL
- ブログ記事投稿日時
- ブログ記事投稿ユーザ
- ブログ記事ループ
- ブログ記事のカテゴリー
- ブログ記事のベースネーム(スラッグ)
- 特定のカテゴリーに所属するブログ記事
- 特定のブログ記事のデータ
ブログ記事ID
■MTの場合
<$MTEntryID$>
■Wordpressの場合
//echoあり(※0) the_ID(); //echoなし:パターン1(※0) $id; //echoなし:パターン2(※0) get_the_ID(); //echoなし:パターン3(※1) $post->ID; //echoなし:パターン4(※2) $hoge->ID;
ブログ記事タイトル
■MTの場合
<$MTEntryTitle$>
■Wordpressの場合
//echoあり(※0) the_title(); //echoなし:パターン1(※0) get_the_title(); //echoなし:パターン2(※1) $post->post_title; //echoなし:パターン3(※2) $hoge->post_title;
ブログ記事内容
■MTの場合
<$MTEntryBody$>
■Wordpressの場合
//echoあり(※0) the_content(); //echoなし:パターン1(※0) get_the_content(); //echoなし:パターン2(※3) $post->post_content; //echoなし:パターン3(※3) $hoge->post_content;
ブログ記事概要
■MTの場合
<$MTEntryExcerpt$>
■Wordpressの場合
//echoあり(※0) the_excerpt(); //echoなし:パターン1(※0) get_the_excerpt(); //echoなし:パターン2(※1) $post->post_excerpt; //echoなし:パターン3(※2) $hoge->post_excerpt;
ブログ記事URL
■MTの場合
<!--パターン1--> <$MTEntryLink$> <!--パターン2--> <$MTEntryPermalink$>
■Wordpressの場合
//echoあり(※0) the_permalink(); //echoなし(※5) get_permalink();
ブログ記事投稿日時
■MTの場合
<$MTEntryDate$> ※6
■Wordpressの場合
//echoあり(※7) the_time(); //echoなし:パターン1(※7) get_the_time(); //echoなし:パターン2(※8) $post->post_date; //echoなし:パターン3(※8) $hoge->post_date;
ブログ記事投稿ユーザ
■MTの場合
<$MTEntryAuthorDisplayName$>
■Wordpressの場合
//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;
ブログ記事ループ
■MTの場合
<MTEntries> ~ </MTEntries>
■Wordpressの場合
//パターン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){ ~ }
ブログ記事のカテゴリー
■MTの場合
<!--パターン1:ブログ記事のメインカテゴリー(カテゴリ名のみ)--> <$MTEntryCategory$> <!--パターン2:ブログ記事のメインカテゴリー(リンクつき)--> <a href="<$MTEntryLink archive_type='Category'$>"><$MTEntryCategory$></a> <!--パターン3:ブログ記事のすべてのカテゴリー--> <MTEntryCategories> ~ </MTEntryCategories>
■Wordpressの場合
WordPressの場合は、メインカテゴリーというものがありません。
//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){ ~ }
ブログ記事のベースネーム(スラッグ)
■MTの場合
<$MTEntryBasename$>
■Wordpressの場合
意外にもthe_slug()やget_the_slug()なんて関数はないので注意。
//echoなし:パターン1(※1) $post->post_name; //echoなし:パターン2(※2) $hoge->post_name;
特定のカテゴリーに所属するブログ記事
■MTの場合
<MTEntries category="カテゴリー名"> ~ </MTEntries>
■Wordpressの場合
//echoなし $hoges = get_posts(array('category'=>カテゴリーID)); foreach($hoges as $hoge){ ~ }
特定のブログ記事のデータ
■MTの場合
<MTEntries id="ブログ記事ID"> ~ </MTEntries>
■Wordpressの場合
//echoなし $hoges = get_posts(array('include'=>投稿ID)); $hoge = $hoges[0];
注釈
※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の投稿のカテゴリーを取得することができます。
nandani | 2013年06月25日 | コメント(0) | トラックバック(0) | CMS関連
トラックバック
トラックバックURL
コメントする
※メールアドレスが公開されることはありません。