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

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

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

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

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

Q&A

解決済

1回答

3017閲覧

【WordPress】特定カテゴリの記事一覧を取得し、カルーセル表示

monsp

総合スコア15

WordPress

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

ループ

ループとは、プログラミングにおいて、条件に合致している間、複数回繰り返し実行される箇所や、その制御構造を指します

0グッド

0クリップ

投稿2016/07/01 03:11

WordPressのTwentySixteenテンプレートを使用しています。
特定カテゴリ(ID:7)のみ6記事取得し、リンク付きサムネイルをリスト表示し、さらにカルーセルとして表示させたいと考えています。

lang

1<div id="content" class="site-content"> 2[省略] 3---追記ここから--- 4<div id="topics_article"> 5<ul class="topics_article_carousel"> 6<?php $posts = get_posts('numberposts=6&category=7'); global $post; ?> 7<?php if($posts): foreach($posts as $post): setup_postdata($post); ?> 8<li> 9<a href="<?php the_permalink(); ?>" alt="<?php the_title(); ?>"><?php the_post_thumbnail(); ?></a> 10</li> 11<?php endforeach; endif; wp_reset_postdata(); ?> 12</ul> 13</div> 14---追記ここまで--- 15 <div id="primary" class="content-area"> 16 <main id="main" class="site-main clearfix" role="main"> 17 18 <?php if ( have_posts() ) : ?> 19 20 <?php if ( is_home() && ! is_front_page() ) : ?> 21 <header> 22 <h1 class="page-title screen-reader-text"><?php single_post_title(); ?></h1> 23 </header> 24 <?php endif; ?> 25 26 <?php 27 // Start the loop. 28 while ( have_posts() ) : the_post(); 29 30 /* 31 * Include the Post-Format-specific template for the content. 32 * If you want to override this in a child theme, then include a file 33 * called content-___.php (where ___ is the Post Format name) and that will be used instead. 34 */ 35 get_template_part( 'content-child', get_post_format() ); 36 37 // End the loop. 38 endwhile; 39 40 // Previous/next page navigation. 41 the_posts_pagination( array( 42 'prev_text' => __( 'Previous page', 'twentysixteen' ), 43 'next_text' => __( 'Next page', 'twentysixteen' ), 44 'mid_size' => 6, 45 'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentysixteen' ) . ' </span>', 46 ) ); 47 48 // If no content, include the "No posts found" template. 49 else : 50 get_template_part( 'template-parts/content', 'none' ); 51 52 endif; 53 ?> 54 55 </main><!-- .site-main --> 56 </div><!-- .content-area -->

上記のように追記しました。

#topics_articleタグ内の記事取得は意図の通りに動いているようですが、
#mainタグ内の記事取得にも干渉してしまっているようで、
なぜか#mainタグ内の取得記事一覧でも
ID:7のカテゴリ記事しか取得されないようになってしまいました。

こちらを、#mainタグ内はデフォルトのように
全カテゴリの記事を取得したいのですが、どのように表記すればいいのでしょうか?

WordPress、jQuery、PHPについては勉強中の身です。
ご回答よろしくお願いします。

参考:
TwentySixteenデモサイト

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

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

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

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

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

guest

回答1

0

ベストアンサー

global $post; は不要です。
多分ですが、変数名 $posts $post$topics_posts $topics_post とかに変えれば干渉しないと思います。

投稿2016/07/01 03:16

kei344

総合スコア69364

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

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

monsp

2016/07/01 03:37

希望していた通りに動きました! 勉強になりました。 ご回答ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問