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の新・旧ループからカスタムクエリ・アーカイブまで徹底解説

おすすめの記事

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

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

Windows 10でネットワークが不安定になった際の対策まとめ

Windows 10でネットワークが不安定になった際の対策まとめ

使うであろう文字だけの、HTML・XHTMLエンティティシート

使うであろう文字だけの、HTML・XHTMLエンティティシート

全く新しい決済サービスPayPal.Meの導入と使い方を解説

全く新しい決済サービスPayPal.Meの導入と使い方を解説

FuckAdBlockを利用して自由自在にAdblock対策をする方法

FuckAdBlockを利用して自由自在にAdblock対策をする方法

Excelでセルとセルの間をダブルクリックすると移動する機能を停止する方法

Excelでセルとセルの間をダブルクリックすると移動する機能を停…

Google Feed APIの代替手段としてjQueryだけでRSSを表示する方法

Google Feed APIの代替手段としてjQueryだけでRSSを表示する方法

WordPressの最速キャッシュを探せ!APC、memcached、Transients APIを比較

WordPressの最速キャッシュを探せ!APC、memcached、Transients…


コメントを残す

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

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