カスタム投稿のメニューのリンクがうまくいかない
-
以前、カスタム投稿の最新記事(抜粋)をトップページにした自作テーマでページングがうまくいかずにフォーラムで助けを求め、is_main_queryのコードを教えて頂き、いろいろ試したところ、問題は自作テーマのコードにある事がわかりました。どこに問題があるか整理しようと思い、いくつかは解決しました。twentyelevenの子テーマをカスタマイズして、元のデザインでほぼ問題なく表示。is_main_queryを教えて頂いたおかげでページングもできています。どうしても解決できないのが、カスタム投稿タイプごとの最新記事一覧ページへのメニューのリンク。
header(トップページのみに使用)とheader-2とfooterに設定しています。コードはほぼ同じ、divやulのidが違うだけです。自作テーマの時は機能していましたが、twentyelevenの子テーマを設定してから、「Notice: Undefined offset: 0 in /Applications/MAMP/htdocs/wordpress/wp-includes/functions.php on line 2422」の警告が出ます。調べてみると、function wp_list_filterの設定がしてある部分のコードで、if ( $m_value == $to_match[ $m_key ] )の行でした。
listの配列の何かがおかしいのかなと思い、いろいろやってみましたが、どれも外れ。PHPの文法に関して始めからきちんと勉強しないとダメだと痛感しています。「要素の検証」でタグを見てみると、6つのうち、最初のカスタム投稿タイプ名だけがリンクされています。なお、警告が出るのは、トップページにだけです。以下が現在のメニュー部分のコードです。
<div id="nav"> <ul> <?php $mycpts = get_post_types( array('antiaging','house','marriage','family','town','try') ); ?> <?php foreach($mycpts as $mycpt): ?> <li><a href="<?php echo get_post_type_archive_link($mycpt); ?>"> <?php echo get_post_type_object($mycpt)->label; ?> </a> </li> <?php endforeach; ?> </ul> </div>
●現在の設定状況:twentyelevenの子テーマでカスタマイズ。表示を「最新投稿」でindex.php使用 Custum Post Type Ul使用 *カスタム投稿タイプは、ナビには入れないものが別に1つあります。 functions.phpに教えて頂いた以下のコード
add_action( 'pre_get_posts', 'mycpts_display_eight_articles' ); function mycpts_display_eight_articles( $wp_query ) { if ( $wp_query->is_main_query() && $wp_query->is_home() ) { $wp_query->set( 'posts_per_page', 8 ); $wp_query->set( 'post_type', array( 'antiaging', 'house', 'marriage', 'family', 'town', 'try' ) ); } }
何度も恐縮ですが、どうぞ教えて頂けますでしょうか。
- トピック「カスタム投稿のメニューのリンクがうまくいかない」には新たに返信することはできません。