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

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

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

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

PHP

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

Q&A

解決済

1回答

1598閲覧

複数カテゴリ選択時にだけ、関連記事が表示されない。というナゾ…

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

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

PHP

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

0グッド

0クリップ

投稿2016/10/30 09:44

編集2016/10/30 12:32

###■やりたいこと
複数カテゴリ選択時にだけ関連記事が表示されないので、どうにかしたいです。。

###■いまの状況
カテゴリ選択が1つだけの場合は大丈夫です。
下記のコードで、関連記事がランダムで4件ちゃんと表示されます。
(蛇足ですが、以前人気記事の表示方法を質問しましたが、ランダム表示で妥協しました。笑)

しかし、カテゴリを複数選択するとダメなんです。

■たとえば
┃記事Xでカテゴリをa,b,cと3つ選択した場合、
┃記事Yで同じカテゴリaを選択してるのに、
┃1つも表示されなくなってしまう。
┃(XもYもいずれも表示なしです。)
ということです。

原因がお分かりになる方、いらっしゃいましたらご教示いただけると幸いです。

↓functions.php↓

php

1/*-------------------------------------------*/ 2/* カスタム投稿タイプ 3/*-------------------------------------------*/ 4 5add_action( 'init', 'custum_post_type' ); 6function custum_post_type() { 7 8/* type1 */ 9 10 //type1のカスタム投稿タイプ追加 11 register_post_type( 'type1', 12 array('labels' => 13 array( 14 'name' => __( 'type1' ), 15 'singular_name' => __( 'type1' ) 16 ), 17 'public' => true, 18 'menu_position' => 5, 19 'hierarchicla' => false, 20 'has_archive' => true, 21 'supports' => array('title','editor','thumbnail', 22 'custom-fields','excerpt','author','trackbacks', 23 'comments','revisions','page-attributes') 24 ) 25 ); 26 27 //type1のタクソノミー追加 28 register_taxonomy( 29 'tag', 30 array('type1','type2'), //type2カテゴリと同じタグを使う 31 array( 32 'hierarchical' => false, 33 'label' => 'タグ', 34 'show_ui' => true, 35 'query_var' => true, 36 'rewrite' => true, 37 'singular_label' => 'タグ' 38 ) 39 ); 40 register_taxonomy( 41 'type1-category', 42 'type1', 43 array( 44 'hierarchical' => true, 45 'label' => 'カテゴリー', 46 'show_ui' => true, 47 'query_var' => true, 48 'rewrite' => true, 49 'singular_label' => 'カテゴリー' 50 ) 51 ); 52 53/* type2 */ 54 55 //type2のカスタム投稿タイプ追加 56 register_post_type( 'type2', 57 array('labels' => 58 array( 59 'name' => __( 'type2' ), 60 'singular_name' => __( 'type2' ) 61 ), 62 'public' => true, 63 'menu_position' => 6, 64 'hierarchicla' => false, 65 'has_archive' => true, 66 'supports' => array('title','editor','thumbnail', 67 'custom-fields','excerpt','author','trackbacks', 68 'comments','revisions','page-attributes') 69 ) 70 ); 71 72 //type2のタクソノミー追加 73 register_taxonomy( 74 'type2-category', 75 'type2', 76 array( 77 'hierarchical' => true, 78 'label' => 'カテゴリー', 79 'show_ui' => true, 80 'query_var' => true, 81 'rewrite' => true, 82 'singular_label' => 'カテゴリー' 83 ) 84 );

↓single.php↓

php

1/*-------------------------------------------*/ 2/* 関連記事ランダム表示 3/*-------------------------------------------*/ 4 5<div class="type1rand-wrap"> 6<?php 7 global $post; 8 $term = array_shift(get_the_terms($post->ID, 'type1-category')); 9 $args = array( 10 'numberposts' => 4, 11 'post_type' => 'type1', 12 'taxonomy' => 'type1-category', 13 'term' => $term->slug, 14 'orderby' => 'rand', 15 ); 16?> 17 18<ul class="type1rand"> 19<?php $myPosts = get_posts($args); if($myPosts) : ?> 20<?php foreach($myPosts as $post) : setup_postdata($post); ?> 21 22<li class="rand"> 23<p>関連記事</p> 24<a href="<?php the_permalink(); ?>"> 25<p class="radsumb"><?php the_post_thumbnail(); ?></p> 26<?php the_title(); ?></a> 27</li> 28<?php endforeach; ?> 29<?php else : ?></ul> 30 <p>関連記事はまだありません。</p> 31<?php endif; wp_reset_postdata(); ?> 32</div> 33

ちょっとコードが長くてすみません。
原因がお分かりになる方いらっしゃいましたら、何卒よろしくおねがいいたします。m(__)m

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

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

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

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

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

kei344

2016/10/30 12:00

「1つも表示されなくなってしまう。 」はXYどちらの記事についてでしょうか。
退会済みユーザー

退会済みユーザー

2016/10/30 12:37

kei344さん、こんばんは★お世話になっております。XもYもどちらもなのです(>_<)ヒントでもうれしいです!
kei344

2016/10/30 12:42

記事Xでaのみ選択しても同じ状況ですか?
退会済みユーザー

退会済みユーザー

2016/10/30 12:56

あっ!…あれ?原因不明のまま「やりたいこと」だけは達成できました。投稿画面から「カテゴリ追加」すると、その記事には関連記事が一切表示されないままです。しかし、ダッシュボード左メニューでカテゴリ追加してから、投稿画面でそのカテゴリを選択した場合は、ちゃんと表示されました。どういうことなのでしょうねこれは…ふむ~。それぞれの方法にどんな違いがあるのでしょうか。私のダッシュボードは「表示オプション」が表示できなかったりと、なんだかヘンなのかもしれません。お騒がせして&せっかく解決を模索してくださったのに、原因不明なままで解決だなんて…申し訳ございませんでした。
退会済みユーザー

退会済みユーザー

2016/10/30 13:03

あ、違いますね!正しくは上のように「ダッシュボードで登録してからならできる」という状況ではなかったです。こうでした。カスタム投稿はtype1とtype2とあるのですが、「type2に登録していないカテゴリをtype1で選択しても、type1には関連記事として表示されない」というのが正しい状況でした。つまり『type1とtype2で同じカテゴリを使わないと、関連記事として表示しないよ』というコードになっているようですね。まぁ…今回は同じカテゴリを登録してしのぎます。(;´・ω・)
退会済みユーザー

退会済みユーザー

2016/10/30 13:12

あれ!!??ダメです。ぜんぜんわけがわからなくなってきました…。記事ごとに状況がかわってしまうんです。ななななんなんだ一体!!??申し訳ございません。いったんこの質問閉じますね。なんどもアワワワして本当に申し訳ございませんでした。
guest

回答1

0

ベストアンサー

質問がまとまっておりませんでしたので、いったんこちらの質問は閉じます。お騒がせして大変申し訳ございませんでした。

投稿2016/10/30 13:14

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問