質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1474閲覧

ワードプレスのループを終わらせたい。

itchy_0528

総合スコア9

WordPress

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

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2019/10/23 08:13

ワードプレス初心者です。
ループの処理について質問させてください。

カスタム投稿で作ったカテゴリを
タブで切り替えて表示できるようにしたのですが、
ループの処理がなぜか10回繰り返されてしまいます。

php

1 2<?php get_header(1); ?> 3 <div id="contents"> 4 <div class="eyecatch_catalog"> 5 <h2>CATALOG</h2> 6 </div> 7 <div class="archive_catalog_inner"> 8 <?php if(have_posts()): while(have_posts()): the_post();?> 9 <div class="archive_catalog_box"> 10 <div class="tabs tabs_active"> 11 <ul class="horizontal"> 12 <li><div class="tab_sp"><a href="#tab-1">bobstyle</a></div></li> 13 <li><div class="tab_sp"><a href="#tab-2">shortstyle</a></div></li> 14 <li><div class="tab_sp"><a href="#tab-3">mediumstyle</a></div></li> 15 <li><div class="tab_sp"><a href="#tab-4">longstyle</a></div></li> 16 </ul> 17 <div id="tab-1"> 18 <div class="catalog_list"> 19 <h3>Bob style</h3> 20 <ul> 21 <?php $args = array( 22 'numberposts' => -1, //表示する記事の数 23 'post_type' => 'catalog', //カスタム投稿タイプの指定 24 'tax_query' => array( 25 array( 26 'taxonomy' => 'catalog_cat', //タクソノミー名 27 'field' => 'slug', 28 'terms' => 'bob' //タームのスラッグ 29 ) 30 ), 31 ); 32 $customPosts = get_posts($args); 33 if($customPosts) : foreach($customPosts as $post) : setup_postdata( $post ); ?> 34 <li><a href="<?php the_permalink(); ?>"><img src="<?php the_post_thumbnail_url(); ?>" alt="<?php echo $image['alt']; ?>" /></a></li> 35 <?php endforeach; ?> 36 <?php else : //記事が無い場合 ?> 37 <p>表示できる記事がありません。</p> 38 <?php endif; 39 wp_reset_postdata(); ?> 40 </ul> 41 </div> 42 </div> 43 <div id="tab-2"> 44 <div class="catalog_list"> 45 <h3>Short style</h3> 46 <ul> 47 <?php $args = array( 48 'numberposts' => -1, //表示する記事の数 49 'post_type' => 'catalog', //カスタム投稿タイプの指定 50 'tax_query' => array( 51 array( 52 'taxonomy' => 'catalog_cat', //タクソノミー名 53 'field' => 'slug', 54 'terms' => 'short' //タームのスラッグ 55 ) 56 ), 57 ); 58 $customPosts02 = get_posts($args); 59 if($customPosts02) : foreach($customPosts02 as $post) : setup_postdata( $post ); ?> 60 <li><a href="<?php the_permalink(); ?>"><img src="<?php the_post_thumbnail_url(); ?>" alt="<?php echo $image['alt']; ?>" /></a></li> 61 <?php endforeach; ?> 62 <?php else : //記事が無い場合 ?> 63 <p>表示できる記事がありません。</p> 64 <?php endif; 65 wp_reset_postdata(); ?> 66 </ul> 67 </div> 68 </div> 69 <div id="tab-3"> 70 <div class="catalog_list"> 71 <h3>Medium style</h3> 72 <ul> 73 <?php $args = array( 74 'numberposts' => -1, //表示する記事の数 75 'post_type' => 'catalog', //カスタム投稿タイプの指定 76 'tax_query' => array( 77 array( 78 'taxonomy' => 'catalog_cat', //タクソノミー名 79 'field' => 'slug', 80 'terms' => 'medium' //タームのスラッグ 81 ) 82 ), 83 ); 84 $customPosts03 = get_posts($args); 85 if($customPosts03) : foreach($customPosts03 as $post) : setup_postdata( $post ); ?> 86 <li><a href="<?php the_permalink(); ?>"><img src="<?php the_post_thumbnail_url(); ?>" alt="<?php echo $image['alt']; ?>" /></a></li> 87 <?php endforeach; ?> 88 <?php else : //記事が無い場合 ?> 89 <p>表示できる記事がありません。</p> 90 <?php endif; 91 wp_reset_postdata(); ?> 92 </ul> 93 </div> 94 </div> 95 <div id="tab-4"> 96 <div class="catalog_list"> 97 <h3>Long style</h3> 98 <ul> 99 <?php $args = array( 100 'numberposts' => -1, //表示する記事の数 101 'post_type' => 'catalog', //カスタム投稿タイプの指定 102 'tax_query' => array( 103 array( 104 'taxonomy' => 'catalog_cat', //タクソノミー名 105 'field' => 'slug', 106 'terms' => 'long' //タームのスラッグ 107 ) 108 ), 109 ); 110 $customPosts04 = get_posts($args); 111 if($customPosts04) : foreach($customPosts04 as $post) : setup_postdata( $post ); ?> 112 <li><a href="<?php the_permalink(); ?>"><img src="<?php the_post_thumbnail_url(); ?>" alt="<?php echo $image['alt']; ?>" /></a></li> 113 <?php endforeach; ?> 114 <?php else : //記事が無い場合 ?> 115 <p>表示できる記事がありません。</p> 116 <?php endif; 117 wp_reset_postdata(); ?> 118 </ul> 119 </div> 120 </div> 121 </div> 122 </div> 123 </div> 124   <?php endwhile; endif; ?> 125 </div> 126<!-- footer --> 127<?php get_footer(); ?> 128 129<!-- /footer -->

endforeach;についてや、
wp_reset_postdata();など、いろいろ調べたのですが、どうしても改善することができません。

初心者が調べながら作ったので、お見苦しい点が多いかと思いますが、
ループさせないためにはどこを直せばいいか教えていただきたいです。

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/10/23 08:17

whileもあるのでループはひとつではありません。また「ループさせない」だけだと「ゴールは何か」は明確にはなりませんので、想定する出力内容など具体的に記載してください。 ※teratailではWordPressはあまり回答率が高くないトピックのひとつなので、あまりWordPress独自の内容だと回答がつかないこともありえます(今回はPHPだけでも難というほどではないですが)
itchy_0528

2019/10/23 08:46

m.ts10806様 質問が下手で申し訳ございません。 今後質問させて頂くときは、ご注意いただいたところを配慮して質問させて頂きます。 ありがとうございました。
m.ts10806

2019/10/23 14:03

質問は編集できますので都度ご対応ください
guest

回答2

0

メインループで回しているために、デフォルトのposts_per_pageが反映しているのではないかと思いました。
以下のようなサブループでされたらどうでしょう。

PHP

1$args = array( 2 'post_type' => カスタム投稿名, 3 'posts_per_page' => 1, 4); 5$myQuery = new WP_Query($args); 6if($myQUery->have_posts()): while($myQuery->have_posts()): $myQuery->the_post(); 7 8// ループの処理 9endwhile; endif; 10wp_reset_postdata(); 11

投稿2019/10/23 08:51

madone99

総合スコア1855

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

itchy_0528

2019/10/23 09:12

madone99様 ご回答ありがとうございます。 こちらの記述方法も試してみたいと思います!
guest

0

ベストアンサー

<?php if(have_posts()): while(have_posts()): the_post();?>endwhile;を消しましょう。

投稿2019/10/23 08:26

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

itchy_0528

2019/10/23 08:47

TAMAKINKAIKAI様 ご回答ありがとうございます。 教えていただいた通りにしたところ、やりたかったことが実現できました。 レベルが低く申し訳ございません。 お助け頂きありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問