実現したいこと
Wordpressオリジナルテーマで、個別投稿ページに表のテンプレートを作り、投稿の手間を省きたい
現在の状態
function.phpでカスタムフィールドを作成し、管理画面から以下の画像のように打てるようにしました。これをsingle.phpで出力して、CSSでレイアウトを整えると表が完成すると思っていました。問題は表が一つしか作れないということで、これを複数個作成することは可能になりますでしょうか?
function.php
php
1 function add_preparation_fields() 2 { 3 add_meta_box('preparation_setting', 'preparationについて', 'insert_preparation_fields', 'preparation', 'normal'); 4 } 5 add_action('admin_menu', 'add_preparation_fields'); 6 function insert_preparation_fields() 7 { 8 global $post; 9 echo '英語: <input type="text" name="preparation_name_en" value="' . get_post_meta($post->ID, 'mentor_name_en', true) . '" size="50" /><br>'; 10 echo 'ポジション: <input type="text" name="preparation_position" value="' . get_post_meta($post->ID, 'mentor_position', true) . '" size="50" /><br>'; 11 echo '概要: <input type="text" name="preparation_dsc" value="' . get_post_meta($post->ID, 'mentor_dsc', true) . '" size="50" />'; 12 } 13 function save_preparation_fields($post_id) 14 { 15 if (!empty($_POST['preparation_name_en'])) { 16 update_post_meta($post_id, 'preparation_name_en', $_POST['preparation_name_en']); 17 } else { 18 delete_post_meta($post_id, 'preparation_name_en'); 19 } 20 if (!empty($_POST['preparation_position'])) { 21 update_post_meta($post_id, 'preparation_position', $_POST['preparation_position']); 22 } else { 23 delete_post_meta($post_id, 'preparation_position'); 24 } 25 if (!empty($_POST['preparation_dsc'])) { 26 update_post_meta($post_id, 'preparation_dsc', $_POST['preparation_dsc']); 27 } else { 28 delete_post_meta($post_id, 'preparation_dsc'); 29 } 30 } 31 add_action('save_post', 'save_preparation_fields');
single.php
php
1 2 <div class="singe-news-content"> 3 <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 4 <h1 class="single-news-h1"><?php the_title(); ?></h1> 5 <div class="single-news-contents"> 6 <?php the_post_thumbnail('thumb169_min'); ?> 7 <?php get_template_part('partial-snsbtn'); ?> 8 <?php 9 $page = get_post(); 10 echo $page->post_content; 11 ?> 12 <div class="preparation-card-info"> 13 <p class="preparation-name"><span class="preparation-name-en"><?php echo get_post_meta($post->ID , 'preparation_name_en' ,true); ?></span></p> 14 <p class="preparation-position"><?php echo get_post_meta($post->ID , 'preparation_position' ,true); ?></p> 15 <p class="preparation-dsc"><?php echo get_post_meta($post->ID , 'preparation_dsc' ,true); ?></p> 16 </div> 17 <?php endwhile; 18 else : ?> 19 <p>記事がありません</p> 20 <?php endif; ?> 21 </div> 22 23 </div> 24
上記のsingle.php内の<div class="preparation-card-info">
に出力できてはいるのですが、表を複数個作成する場合のループを作ることができません。JSやPHPで挑戦したのですが、できませんでした。
そもそも可能か不可能かが今の自分の知見では判断できかねないので、ご存知の方がいらっしゃれば、ぜひご教授いただきたいです。

回答1件
あなたの回答
tips
プレビュー
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。
2022/06/16 07:53