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

おすすめの記事

5段階評価プラグインを通して学ぶPukiWikiのプラグインを作成する方法

5段階評価プラグインを通して学ぶPukiWikiのプラグインを作成す…

rsyslogを利用したログファイル作成と、logrotateを利用したログのローテーション

rsyslogを利用したログファイル作成と、logrotateを利用したロ…

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

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

エンティティとデコード用プラグイン「Entity Decode Button」を作成しました

エンティティとデコード用プラグイン「Entity Decode Button」…

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

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

WordPress公式テーマTwenty Tenを子テーマでレスポンシブWebデザインに変更

WordPress公式テーマTwenty Tenを子テーマでレスポンシブWebデ…

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

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

WordPressの新・旧ループからカスタムクエリ・アーカイブまで徹底解説

WordPressの新・旧ループからカスタムクエリ・アーカイブまで徹…


コメントを残す

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

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