Re: [WordPress]コピペでOK!カテゴリー、タグ、パンクズを呼び出すサンプルコードいろいろ

さらっと流し読みしただけですが…

現在読み込んでいる記事の、カテゴリーリンクを1つ出力します。記事が属するカテゴリーが1つだけの場合に有効です。記事一覧を表示するループ内などで使うのが一般的です。
その1. サンプルコード

    $cat = get_the_category();
    echo '<a href="'.get_category_link($cat[0]->term_id).'">'.$cat[0]->name.'</a>';

[WordPress]コピペでOK!カテゴリー、タグ、パンクズを呼び出すサンプルコードいろいろ

get_the_cateory() ですが、内部的には get_term() を呼び出してます。
そんで get_term() では、なにがしかのエラーがあった場合 WP_Error オブジェクトを返すことがあるので、このまま使うと WP_Error オブジェクトが返ってきたときに $cat[0]->term_id とかが存在せずにエラーになってしまいます…
( see. https://core.trac.wordpress.org/browser/tags/3.8/src/wp-includes/taxonomy.php#L933 )

そんなわけで、get_the_category() の返り値は is_wp_error() で検査してから使った方が幸せになれると思うよ。
# ってか the_category() とか標準のテンプレートタグ使えば良いのに…


Posted

in

by

Comments

“Re: [WordPress]コピペでOK!カテゴリー、タグ、パンクズを呼び出すサンプルコードいろいろ”. への1件のコメント

  1. […] エラー時の処理を加えました。1月14日17時以前にコードをコピーした方はお手数ですが差し替えて下さい。大変ご迷惑をおかけしました。こちらの記事でご指摘いただいたwokamoto様、ありがとうございました。 (2014.1.14) […]

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。