質問編集履歴

2 コードの一部を変更しました

sanasasasa

sanasasasa score 12

2016/12/11 16:56  投稿

wordpressカスタムフィールドを使用したカテゴリページ
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
うまく表示する方法はありませんか?
よろしくお願いいたします。
修正のご指摘ありがとうございました。
どうぞよろしくお願いいたします。
  • WordPress

    12199 questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

1 コードとエラーの内容を修正いたしました。

sanasasasa

sanasasasa score 12

2016/12/11 16:55  投稿

wordpressカスタムフィールドを使用したカテゴリページ
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  
うまく表示する方法はありませんか?
よろしくお願いいたします。
よろしくお願いいたします。
修正のご指摘ありがとうございました。
どうぞよろしくお願いいたします。
  • WordPress

    12199 questions

    WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る