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

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

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

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

PHP

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

Q&A

解決済

1回答

3815閲覧

タームでの条件分岐ができない

obukko

総合スコア11

WordPress

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

PHP

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

0グッド

0クリップ

投稿2017/08/26 05:38

What's New Generatorというプラグインを使用して
カスタム投稿(お知らせ)の一覧を表示させています。

詳細な説明が必要なお知らせは本文を見る必要があるためリンクをつけ、
その他の記事はタイトルしかなく本文がないためリンク無しにしたいと考えています。

タクソノミー'link_arinasi'、ターム'link_ari'が付与されている記事だけをリンクつきにするため以下のように記述しましたが、'link_ari'のタームを付与した記事もリンクなしで表示されてしまいます。

whats-new-generator.phpの変更部分

php

1class WhatsNewItem{ 2 var $date; 3 var $raw_date; 4 var $title; 5 var $url; 6 var $newmark; 7<!-- 追記 -->var $term; 8 private static $number = 0; 9 10 public function __construct( $post ){ 11 $options = WNG::get_option(); 12 $orderby = $options['wng_orderby']; 13 $this->raw_date = $orderby == '公開日順' ? $post->post_date : $post->post_modified; 14 $this->date = date(get_option('date_format'), strtotime($this->raw_date)); 15 $this->title = esc_html( $post->post_title ); 16 $this->url = get_permalink($post->ID); 17 $this->newmark = $this->is_new(); 18<!-- 追記 -->$this->term = get_the_terms($post->ID,'link_arinasi'); 19 self::$number++; 20 }

whatsnew-view.phpの変更部分

php

1 <hr/> 2 <?php foreach($info->items as $item): ?> 3 <dl> 4<!-- 変更 --> 5 <?php $info->term; ?> 6 <?php if($term == 'link_ari'): ?> 7 <a href="<?php echo $item->url; ?>"> 8 <?php else : ?> 9 <a> 10 <?php endif; ?> 11<!-- 変更 --> 12 <dt> 13 <?php echo $item->date; ?> 14 </dt> 15 <dd> 16 <?php if ( $item->newmark ): ?> 17 <span class='newmark'>NEW!</span> 18 <?php endif; ?> 19 <?php echo $item->title; ?> 20 <?php echo $item->term; ?> 21 </dd> 22 </a> 23 </dl> 24 <hr/> 25 <?php endforeach; ?>

phpは全くの初心者ですので、初歩的なミスでしたら申し訳ないです。
どうぞよろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

ブラグインを直接編集するのは、プラグインを更新するたびに設定がリセットされるためにおすすめできません。
かといって、わたしもそれ以外思いつかなかったので、対処療法的回答になります。

whats-new-generator.phpの変更部分の追記の二番目を、

php

1 $terms = get_the_terms($post->ID,'link_arinasi'); 2 if(is_array($terms)) { 3 foreach( $terms as $term ) { 4 $term = $term -> slug;} 5 $this->term = $term;} 6

whatsnew-view.phpの変更部分の部分を、

php

1<?php $term = $item->term; ?> 2<?php if($term == 'link_ari'): ?> 3 <a href="<?php echo $item->url; ?>"> 4<?php else : ?> 5 <a> 6<?php endif; ?> 7

参考まで。

投稿2017/08/26 07:52

8-0_nyan5

総合スコア2352

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

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

obukko

2017/08/27 22:37

教えていただきありがとうございます。 上記のコードですんなりと上手く行きました。 今の自分ではまずこの答えにたどり着くことはできなかったので大変感謝しております。また教えていただいたコードを見て、配列の扱いかた等について大変勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問