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

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

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

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

WordPress

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

PHP

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

Q&A

解決済

1回答

448閲覧

【WordPress】現在のページのタグと同じタグが付いている記事を記事下一覧

brosse

総合スコア13

タグ

特殊な記法により文書に埋め込む形で記述される付加情報をタグと呼びます。文書構造や書式、文字飾りなどを指示したり、画像や他の文書へのリンクを埋め込むことができる。

WordPress

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

PHP

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

0グッド

1クリップ

投稿2018/04/30 15:22

編集2018/04/30 21:15

こんばんは。
少し大規模なサイト制作が決まってハマってしまったので質問します。
phpの学習はほとんどしていなかった(勉強中)なので拙いコードですがよろしくお願いします。

したいこと

現在の記事にて設定しているタグと同様のタグがついた他の記事を記事下に5~10個一覧表示したい

やったこと

カテゴリを取得して表示する方法をタグvarに変更→動かず

php

1<?php $tags = array(); 2$posttags = get_the_tags(); 3if ($posttags): 4 foreach($posttags as $tag): 5 $tags[] = $tag->term_id; 6 endforeach; 7endif; 8 9$args = array( 10 ~~ 11 'tag__and' => $tags, 12); 13if ( $q->have_posts() ) : while ( $q->have_posts() ) : $q->the_post(); 14endwhile;endif; wp_reset_postdata(); 15 16...どうしよう ?>

開いているページのタグを取得して一覧表示 → できず

php

1<?php 2if ( is_tag() ){ 3 $postTag = get_the_tags(); 4 $url = get_tag_link( $postTag[0]->term_id ); 5 echo $url; 6} 7?> 8<!--開いているページのタグを取得--> 9<?php echo ...

query_posts 非推奨

ご指導よろしくお願いします。

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

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

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

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

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

kei344

2018/04/30 15:54

$tags[]を使う部分コードまで省略されていますが、なるべく試した物の全体像がわかるように記事を編集してください。
guest

回答1

0

ベストアンサー

php

1$q=new WP_Query($args);

↑このコードはあるんですよね?
これがないならそりゃ動かんわって感じですが

tag__andは文字通りAND検索で
その記事についているすべてのタグがついている記事を
絞り込みすることになるんですが
これは意図通りなんでしょうか?
タグって結構たくさんつけるので
ある記事のすべてのタグを同じく持っている記事って
結構絞り込みが効きすぎる気がします

かといってtag__inでどれか一つでもだと引っかかりすぎでもあるんで
一致したタグの数で降順ソートできるとベストなんですが
まあ、簡単でもなさそうなので次の課題って感じでしょうか

ついでにtag_idの取得部分

php

1$tags = wp_get_post_tags(get_the_ID(),['fields'=>'ids']);

で一発です

is_tag()は現在のページがタグアーカイブページであるかの判定
つまり特定のタグのついた記事の一覧ページであるかってことです
特定の一つの投稿を開いているわけではないので
get_the_tagsは意図通りには動きません

どのタグの一覧ページなのか、そのIDを取得したければ
とりあえずグローバルのwp_queryのquery_varsを見ればいいかと思います

php

1global $wp_query; 2$url = get_tag_link( $wp_query->query_vars['tag_id'] );

タグアーカイブページならば
記事検索するまでもなくグローバルのwp_queryに
すでに記事一覧が入ってるので
普通にループすればいいだけです

Wordpressテーマ作成事始め
WP_query
テンプレート階層

投稿2018/05/01 02:50

KazuhiroHatano

総合スコア7804

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

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

brosse

2018/05/01 13:58

色々試してみてはいますが,思ったように動きませんね... 初歩的な部分から勉強し直します.ありがとうございました.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問