WordPress3.5で親ページのIDを取得するget_post_ancestors()でエラー発生


投稿日:2013年1月13日
  • 2
  • 0



ローカルとグローバルを意識しよう

wp_get_post_ancestors

以前の投稿」で紹介しましたが、当サイトでは独自のパンくずリストにしていたのですが、WordPressを3.5にアップデートしたところエラーが発生。
現在のページの親ページ(先祖)のIDを取得する「get_post_ancestors()」が原因でエラーが出ていました。


エラーメッセージと対処法

Warning: array_reverse() expects parameter 1 to be array, boolean given in

調べると、どうやら正しくは「global $post;」でグローバル変数を取得しないといけなかったようです。(3.5以前のバージョンでは書かなくても取得できていました)

以下のコードに変更したところ、無事に出力されるようになりました。急にエラーが出て困っている方は試してみてください。

function the_breadcrumb() {
	if (!is_home()) {
		echo '<a href="'.home_url().'">Home</a>';
	}
	if (is_category() || is_single() || is_archive() ) {
		echo " &gt; [";
		the_taxonomies(", ");
		echo "]";
	}
	if (is_single()) {
		echo " &gt; ";
		echo '現在のページ';
	} elseif (is_page()) {
	echo ' &gt; ';
	global $post; //ここに追加
	$ancestors = get_post_ancestors($post->ID);
		foreach (array_reverse($ancestors) as $parid) {
		$title = get_page($parid)->post_title;
		echo '<a href="'.get_page_link($parid).'" title="'.$title.'">'.$title.'</a> &gt; ';
	}
	echo '現在のページ';
	}
}

現在のページを共有する



現在のページに関連する記事

functionsを使ってパンくずリストに複数のカテゴリを加える方法 functionsを使ってパンくずリストに複数のカテゴリを加える方法
WordPress3.5で親ページのIDを取得するget_post_ancestors()でエラー発生 もう覚えなくても大丈夫!?WordPressの条件分岐タグの使い方まとめ
WordPress3.5で親ページのIDを取得するget_post_ancestors()でエラー発生 貼るだけ簡単!アクセスが倍増するWordPress用OGPコード
WordPressでページのヘッダにあるアイキャッチ画像を非表示にする方法 WordPressでページのヘッダにあるアイキャッチ画像を非表示にする方法
WordPress3.5で親ページのIDを取得するget_post_ancestors()でエラー発生 Popular Postsをカスタマイズして、人気記事のサムネイルを表示する方法
WordPress3.5で親ページのIDを取得するget_post_ancestors()でエラー発生 WordPressでコメント機能を投稿タイプや時間経過と共に停止する方法
WordPress3.5で親ページのIDを取得するget_post_ancestors()でエラー発生 WordPressの新・旧ループからカスタムクエリ・アーカイブまで徹底解説

おすすめの記事

ClamAVとClamSMTPを利用してPostfixのメールをウイルスチェック

ClamAVとClamSMTPを利用してPostfixのメールをウイルスチェック

GMO系列のホスティングサービスでGmailへメールが送信できない不具合が発生中

GMO系列のホスティングサービスでGmailへメールが送信できない…

fluentdと連動して集計処理を行うNorikraの導入方法

fluentdと連動して集計処理を行うNorikraの導入方法

誤って削除したGoogle Chromeのブックマークを復元する方法

誤って削除したGoogle Chromeのブックマークを復元する方法

Google Fontsの日本語フォント「Noto Fonts」の使い方

Google Fontsの日本語フォント「Noto Fonts」の使い方

ページ編集の手間を劇的に減らす、Custom Field Templateでカスタムフィールドを作る方法

ページ編集の手間を劇的に減らす、Custom Field Templateでカス…

DELL Inspiron 3250のHDDをSSDへ換装して、メモリを16GBへ増設

DELL Inspiron 3250のHDDをSSDへ換装して、メモリを16GBへ増設

開発の最前線でクリエイター・エンジニアに必要なプログラミング言語

開発の最前線でクリエイター・エンジニアに必要なプログラミン…


コメントを残す

コメントは認証制のため、すぐには反映されません。

プログラミングに関する質問は「日本語でプログラミングの悩みを解決するQ&Aサイト sukegra」をご利用ください。