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

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

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

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

Q&A

解決済

2回答

4932閲覧

【wordprees】カテゴリーを複数選択した記事を各カテゴリー一覧ページに表示させる方法

murama2

総合スコア113

WordPress

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

0グッド

0クリップ

投稿2017/07/03 08:18

編集2017/07/04 00:47

wordpreesで1記事に複数のカテゴリーを選択した時、選択したカテゴリー一覧全てにその記事を表示させたいのですが、うまくいかなく困っています。

タイトル:テスト投稿
の記事を
カテゴリー:「新着情報」「ブログ」
の2つ選択した場合、新着情報一覧ページとブログ一覧ページにタイトル:テスト投稿を表示させたいがカテゴリーの順番で新着情報が上位になっているため、新着情報の判定しかしてくれません

ちなみに各カテゴリー一覧はデザインが少し違うためif文を使いカテゴリーidで判定し振り分けてます。

カテゴリー一覧で使用しているコードは下記のとおりです。
archive.phpに記載しております。
ちなみに、ID=1が「新着情報」で、ID=2が「ブログ」になります。

<?php get_header(); ?> <?php if(is_category('1')): ?> <?php query_posts("posts_per_page=20&cat=1&paged=". $paged); ?> <?php if(have_posts()): ?> <div class="Main pages"><!-- .Main start --> <div class="MainColumn <?php if(in_category('blog')): ?>BlogColumn<?php endif; ?>"> <section class="section"> <div class="Inner"> <header class="ArchiveTitle"> <h2 class="headline-h2"><?php $cat = get_the_category(); $catid = $cat[0]->cat_ID; $catName = $cat[0]->name; $catInfo = get_queried_object(); $catID = $catInfo -> cat_ID; ?><?php echo $catName; ?>一覧</h2> </header> <article class="ArchivesNews"> <article class="ArchivesNewsInner"> <div class="ArchivesNewsList"> <ul class="indexNewsInner"> <?php while (have_posts()) : the_post();?> <?php $category = get_the_category(); $cat_id = $category[0]->cat_ID; $cat_name = $category[0]->cat_name; $cat_slug = $category[0]->category_nicename; ?> <li id="post-<?php the_ID(); ?>"> <a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"> <span class="cate_glop <?php echo $cat_slug; ?>"><?php echo $cat_name; ?></span> <time><?php the_time('Y.m.d') ?></time> <p><?php if(mb_strlen($post->post_title)>20) { $title= mb_substr($post->post_title,0,43) ; echo $title. ・・・ ; } else {echo $post->post_title;}?></p> </a> </li> <?php endwhile; ?> </ul> <div class="pager"> <?php global $wp_rewrite; $paginate_base = get_pagenum_link(1); if(strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()){ $paginate_format = ''; $paginate_base = add_query_arg('paged','%#%'); } else{ $paginate_format = (substr($paginate_base,-1,1) == '/' ? '' : '/') . user_trailingslashit('page/%#%/','paged'); $paginate_base .= '%_%'; } echo paginate_links(array( 'base' => $paginate_base, 'format' => $paginate_format, 'total' => $wp_query->max_num_pages, 'mid_size' => 6, 'current' => ($paged ? $paged : 1), 'prev_text' => '< 前へ', 'next_text' => '次へ >', )); ?> </div> </div> </article> </article> </div> </section> </div><!-- .MainColumn end --> <?php get_sidebar(); ?> </div><!-- .Main end --> <?php else: ?> <div class="no_page_area"> <!-- p class="preparation">ただいま準備中です。</p --> </div> <?php endif; ?> <?php elseif(is_category('2')): ?> <?php query_posts("posts_per_page=20&cat=2&paged=". $paged); ?> <?php if(have_posts()): ?> <div class="Main pages"><!-- .Main start --> <div class="MainColumn <?php if(in_category('blog')): ?>BlogColumn<?php endif; ?>"> <section class="section"> <div class="Inner"> <header class="ArchiveTitle"> <h2 class="headline-h2"><?php $cat = get_the_category(); $catid = $cat[0]->cat_ID; $catName = $cat[0]->name; $catInfo = get_queried_object(); $catID = $catInfo -> cat_ID; ?><?php echo $catName; ?>一覧</h2> </header> <article class="ArchivesNews"> <article class="ArchivesNewsInner"> <div class="ArchivesNewsList"> <ul class="indexNewsInner"> <?php while (have_posts()) : the_post();?> <?php $category = get_the_category(); $cat_id = $category[0]->cat_ID; $cat_name = $category[0]->cat_name; $cat_slug = $category[0]->category_nicename; ?> <li id="post-<?php the_ID(); ?>"> <a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"> <span class="cate_glop <?php echo $cat_slug; ?>"><?php echo $cat_name; ?></span> <time><?php the_time('Y.m.d') ?></time> <p><?php if(mb_strlen($post->post_title)>20) { $title= mb_substr($post->post_title,0,43) ; echo $title. ・・・ ; } else {echo $post->post_title;}?></p> </a> </li> <?php endwhile; ?> </ul> <div class="pager"> <?php global $wp_rewrite; $paginate_base = get_pagenum_link(1); if(strpos($paginate_base, '?') || ! $wp_rewrite->using_permalinks()){ $paginate_format = ''; $paginate_base = add_query_arg('paged','%#%'); } else{ $paginate_format = (substr($paginate_base,-1,1) == '/' ? '' : '/') . user_trailingslashit('page/%#%/','paged'); $paginate_base .= '%_%'; } echo paginate_links(array( 'base' => $paginate_base, 'format' => $paginate_format, 'total' => $wp_query->max_num_pages, 'mid_size' => 6, 'current' => ($paged ? $paged : 1), 'prev_text' => '< 前へ', 'next_text' => '次へ >', )); ?> </div> </div> </article> </article> </div> </section> </div><!-- .MainColumn end --> <?php get_sidebar(); ?> </div><!-- .Main end --> <?php endif; ?>

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2017/07/03 14:26

使用しているテーマ(テーマ名と入手URL)について追記してください。オリジナルテーマや既存のテーマを改変している場合は「新着情報一覧ページ」と「ブログ一覧ページ」に使用しているテンプレートファイルの内容を追記してください。
guest

回答2

0

ベストアンサー

query_postsが書かれている行を2行とも削除してみてください。

テンプレートファイル内では通常query_posts関数は使用しません。

投稿2017/07/04 03:12

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

0

if文とquery_postsを消したらうまく動作しました。

投稿2017/07/10 06:47

murama2

総合スコア113

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問