Advanced Custom Fieldsを使用してカテゴリに画像と、テキストのカスタムフィールドを設置しました。
親カテゴリ
-子カテゴリA(カスタムフィールド設置)
-投稿a
-投稿b
-子カテゴリB(カスタムフィールド設置)
-投稿c
-投稿d
上記のような形にしています。
親カテゴリのページを表示する際に、上から順に
親カテゴリは表示せずに、
子カテゴリAのカスタムフィールドの内容
投稿aのタイトルと内容、アイキャッチ画像
投稿bのタイトルと内容、アイキャッチ画像
子カテゴリBのカスタムフィールドの内容
投稿cのタイトルと内容、アイキャッチ画像
投稿dのタイトルと内容、アイキャッチ画像
と、表示したいのです。
しかし、カテゴリのカスタムフィールドの内容だけ、または投稿の内容だけが表示され
一緒に表示することができません。
###発生している問題・エラーメッセージ
カテゴリのカスタムフィールド内容と、 子カテゴリの投稿内容が別々で表示されます。 子カテゴリAのカスタムフィールドの内容 子カテゴリBのカスタムフィールドの内容 投稿aのタイトルと内容、アイキャッチ画像 投稿bのタイトルと内容、アイキャッチ画像 投稿cのタイトルと内容、アイキャッチ画像 投稿dのタイトルと内容、アイキャッチ画像 この表示になります。
###該当のソースコード
カスタムフィールドの内容は下記コードで表示しております。
<?php $cat = get_queried_object_id(); // 現在のカテゴリーのID $args = array( 'parent' => $cat ); // 子カテゴリーを取得(孫なし) $childs = get_categories( $args ); foreach( $childs as $child ) { // 子カテゴリーそれぞれ $cat_id = 'category_' . $child->term_id; // カテゴリー(ターム)を指定 $image = get_field( 'title_img', $cat_id ); echo '<img src="' . $image. '">' . "\n"; $txt = get_field( 'title_text', $cat_id ); echo $txt, "\n"; } ?>
###試したこと
<?php if(have_posts()): while(have_posts()):the_post(); ?> <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1> <p><?php the_content('Read more'); ?></p> <?php endwhile; endif; ?>
このコードを一緒に読み込んだところ、投稿記事一覧が全て表示されました。
foreachを入れ子にして、投稿を読み込めば良いと思うのですが、まとめようとするとエラーとなります。
<?php $cat = get_queried_object_id(); // 現在のカテゴリーのID $args = array( 'parent' => $cat ); // 子カテゴリーを取得(孫なし) $childs = get_categories( $args ); foreach( $childs as $child ) { // 子カテゴリーそれぞれ $cat_id = 'category_' . $child->term_id; // カテゴリー(ターム)を指定 $image = get_field( 'title_img', $cat_id ); echo '<img src="' . $image. '">' . "\n"; $txt = get_field( 'title_text', $cat_id ); echo $txt, "\n"; <?php if(have_posts()): while(have_posts()):the_post(); ?> <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1> <p><?php the_content('Read more'); ?></p> <?php endwhile; endif; ?> } ?>
エラー内容
Parse error: syntax error, unexpected '<' in /category.php on line 15
うまく表示する方法はありませんか?
よろしくお願いいたします。
修正のご指摘ありがとうございました。
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー