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

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

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

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

561閲覧

WP リンク先の記事のカテゴリー取得

kana

総合スコア12

WordPress

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

PHP

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

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/06/24 05:57

編集2019/06/24 06:00

ホーム・サイドバーで投稿記事に合わせたクラスを取得したい

はじめてのWordPressでカスタマイズをしながらブログサイトを作っています。
ホームやサイドバーに表示される記事たちに対してカテゴリーごとにイラストアイコンをつくたく、記事のカテゴリースラッグを取得させてclassへ出力させています。

発生している問題

ホームから見える過去記事一覧はすべて投稿記事に合わせたclassが取得できており、思ったとおりのイラストアイコンが表示されています。
しかし、サイドバーに「最新記事」や「人気の投稿」があり、こちらに思ったとおりのクラスが取得できません。

仮にサイドバーに表示される最新記事がAカテゴリーであってもBカテゴリーであっても、現在表示されているページがCカテゴリーであればすべてのクラスはCとなっています。

投稿記事リンク先のカテゴリーを取得したいのですが、表示中の投稿ページのカテゴリーを取得していると思います。

該当のソースコード

html

1<!-- ホーム --> 2<?php 3$cat = get_the_category(); 4$catid = $cat[0]->cat_ID; // ID 5$catname = $cat[0]->name; // カテゴリ名 6$catslug = $cat[0]->category_nicename; // カテゴリスラッグ名 7$link = get_category_link($catid); // カテゴリURL 8?> 9 10<p class="<?php echo $catslug; ?>"> 11<?php the_category(' ') ?> &nbsp;/&nbsp;<?php the_tags(' ', ' ', ' '); ?></div> 12</p>

html

1<!-- サイドバー --> 2<?php 3$cat = get_the_category(); 4$catid = $cat[0]->cat_ID; // ID 5$catname = $cat[0]->name; // カテゴリ名 6$catslug = $cat[0]->category_nicename; // カテゴリスラッグ名 7$link = get_category_link($catid); // カテゴリURL 8?> 9 10<p class="<?php echo $catslug; ?>"> 11<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> 12<?php echo $catname; ?></a> 13</p>

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

  • 使用テーマはGush2です
  • 人気の記事、新着記事はプラグインではありません
  • 同じようなコードを今回相談しているhome.php、sidebar.php、とは別にsingle.phpにも書いています

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

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

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

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

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

guest

回答1

0

自己解決

phpのコードをループ外に書いていたことが原因でした。
もう絶対に忘れません!勉強になりました!

php

1<?php 2$cat = get_the_category(); 3$catid = $cat[0]->cat_ID; // ID 4$catname = $cat[0]->name; // カテゴリ名 5$catslug = $cat[0]->category_nicename; // カテゴリスラッグ名 6$link = get_category_link($catid); // カテゴリURL 7?>

投稿2019/06/25 01:12

kana

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問