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

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

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

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

PHP

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

Q&A

2回答

1071閲覧

【WordPress・PHP】タームごとに表示したページのスラッグ名を取得したい

lalana

総合スコア0

WordPress

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

PHP

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

0グッド

0クリップ

投稿2021/04/05 07:02

編集2021/04/05 12:44

観覧してくださり、ありがとうございます。

タームごとに表示したい内容を変えたいため、
タームごとに表示したページのスラッグ名を取得したいです。

URLは
https://〇〇.com/event/event_cat/★★★/
※★★★はスラッグ名

テンプレートは
taxonomy-event_cat.php
です。

このテンプレートですが、
★★★のタームごとに内容を変更したい個所があり

スラッグ名と同じファイル(event/★★★.php)を作成して
それぞれで違う内容を読み込みたいと思っております。

<?php get_template_part( 'event/★★★' ); ?>

タームがとてもたくさんあり、タームごとに対応したファイルをあらかじめ作っておいて
taxonomy-event_cat.phpの中で、今表示されているタームに対応した
内容の★★★.phpを自動で読み込みたいです。

できれば、ループ外なのと、
ループ内に
$post->post_nameを記述すると
タイトルが出てきてしまいます><。

ワードプレスメニュの
投稿 ⇒ カテゴリー ⇒ スラッグ
ここのスラッグで決めた文字を取得したいです。

発生している問題・エラーメッセージ

スラッグ名が取得できれば読み込めますでしょうか? スラッグ名の取得方法かあるいは、よい方法があれば 教えて頂けたら嬉しいですm(__)m

該当のソースコード

<?php get_template_part( 'event/★★★' ); ?>

試したこと

スラッグを読み込むコードをたくさん試しました。

補足情報(FW/ツールのバージョンなど)

よろしくお願い致しますm(__)m

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

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

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

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

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

guest

回答2

0

event_catという名前のタクソノミー【カテゴリー)あって、
その中で特定タームの場合のみ処理を切り替えたいという質問であっていますでしょうか?
その場合は
taxonomy-event_cat-{$term}.php
を用意することで特定のタームのみの対応ができます。
参考
https://wpdocs.osdn.jp/テンプレート階層

投稿2021/04/05 08:43

gogoweb_ikeda

総合スコア1426

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

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

lalana

2021/04/05 09:36 編集

ありがとうございますm(__)m もし見当違いの解釈をしていたらもうしわけございません。 -{$term}ここの部分はあらかじめ、タームのスラッグ名を入れた taxonomy-event_cat-{$term}.phpを作っておくという内容でしょうか?>< 勉強不足で申し訳ございません。 タームがとてもたくさんあり、タームごとに対応したファイルを作っておいて taxonomy-event_cat.phpの中で、今表示されているタームに対応した 内容の.phpを自動で読み込みたいです。 メッセージありがとうございます。
gogoweb_ikeda

2021/04/06 00:24

はい。termAというタームに対してはtaxonomy-event_cat-termA.phpというテンプレートを作成する形になります。 ただ、タームが大量にあり、今後も増えていき、修正箇所が一部分のみだというのなら効率的とは言えません。 その場合はget_queried_object関数で現在のタクソノミーページのタームを取得してその値で内容を変えるのがいいと思います。 単純にタイトルだけを変えたいならsingle_term_titleでもいいです。
guest

0

ループ内であれば $post->post_name で取得できます。

投稿2021/04/05 07:36

tabuu

総合スコア2480

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

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

lalana

2021/04/05 08:12 編集

ありがとうございますm(__)m できれば、ループ外なのと、 ループ内に $post->post_nameを記述すると タイトルが出てきてしまいます><。 私の質問の仕方がおかしいかもしれないです。 書き直してみます。 本当にありがとうございます。
tabuu

2021/04/05 23:22

記事のslugと勘違いしていました。 現在表示しているページのslugを取得したいということですね。 $slug = get_queried_object()->slug; でいかがでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問