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

おすすめの記事

初めてでも理解できるようになる「Firefox機能拡張の開発」

初めてでも理解できるようになる「Firefox機能拡張の開発」

プロ根性のあるデザイナーやブロガーにお勧めする4つの画像編集ソフト

プロ根性のあるデザイナーやブロガーにお勧めする4つの画像編集…

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

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

知らなきゃ損!WordPressの表(テーブル)はExcelで作ろう!

知らなきゃ損!WordPressの表(テーブル)はExcelで作ろう!

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

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

自前の国別IPv6、IPv4アドレス割当リストを作成しよう

自前の国別IPv6、IPv4アドレス割当リストを作成しよう

WordPressのサイトをHTTPS化して学ぶLet’s Encryptの使い方

WordPressのサイトをHTTPS化して学ぶLet’s Encryptの使い方

UWSCでEXCELの作業を自動化する方法

UWSCでEXCELの作業を自動化する方法


コメントを残す

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

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