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

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

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

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

PHP

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

Q&A

解決済

2回答

1053閲覧

タクソノミーに属するターム一覧で予期せぬ出力が発生する

退会済みユーザー

退会済みユーザー

総合スコア0

WordPress

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

PHP

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

0グッド

0クリップ

投稿2017/05/11 10:01

編集2017/05/11 10:48

現在WordPressに、プラグイン「Custom Post Type UI 」をインストールし、
カスタムタクソノミーを導入しています。

そして、作成したカスタムタクソノミーに属する、
タームごとの一覧表示をしたくて、下記のコードで出力しています。

php

1<ul id="list"> 2<?php 3if (have_posts()) : 4while (have_posts()) : 5the_post(); 6get_template_part('loop-list'); //テンプレート呼び出し 7endwhile; 8endif; 9?> 10</ul> 11<?php 12wp_pagenavi(); 13wp_reset_query(); 14 ?>

出力内容や、ページ送りなど問題なく出力されているものの、
なぜか最後尾(今回新しい記事から過去に向かって表示しているので一番古く書いた記事より後)に
エラーコードが出力されます。

属する記事が10件あったとしたら、
11件目として、エラーコードが出力されています。

表示のエラーコードは下記の内容です。

\ Warning: number_format() expects parameter 1 to be double, string given in /loop-list.php on line 28

10件しかない一覧に、なぜ11件目が表示されているのかがよく分からず、
疑う箇所の想像もつきません。

恐れ入りますが、ご教授願います。

追記です
エラーコードが指示しているファイルのコードです

PHP

1 2<li class="pet_list_item"> 3<div class="pet_list_img"><a href="<?php the_permalink(); ?>"><?php 4$image = get_post_meta($post->ID, 'cf_petphoto01', true); 5$image_src = wp_get_attachment_image_src($image, 'full'); 6 echo '<img src="'.$image_src[0].'">'; ?> 7</a></div> 8 9<div class="pet_list_data"> 10<p class="icon col_<?php the_author_nickname(); ?>"><?php the_author(); ?></p> 11 12<a href="<?php the_permalink(); ?>"><?php if(mb_strlen($post->post_title, 'UTF-8')>12){ 13$title= mb_substr($post->post_title, 0, 12, 'UTF-8'); 14echo $title.'…'; 15}else{ 16echo $post->post_title; 17} 18?></a> 19<div class="pet_list_personal"> 20<?php if(get_post_meta($post->ID,'cf_sex',true) == '表示しない'): ?> 21<?php elseif(get_post_meta($post->ID,'cf_sex',true) == '男の子'): ?> 22<p class="pet_list_male"><?php echo get_post_meta($post->ID , 'cf_sex' ,true); ?> <i class="fa fa-mars" aria-hidden="true"></i></p> 23<?php elseif(get_post_meta($post->ID,'cf_sex',true) == '女の子'): ?> 24<p class="pet_list_female"><?php echo get_post_meta($post->ID , 'cf_sex' ,true); ?> <i class="fa fa-venus" aria-hidden="true"></i></p> 25<?php endif; ?> 26<?php if(get_post_meta($post->ID,'cf_status',true) == '家族が決まりました'): ?> 27<?php else: ?> 28<p class="pet_list_price">\<?php $cf_extaxprice = get_post_meta($post->ID, 'cf_extaxprice', true);?><?php if(empty($cf_extaxprice)):?><?php echo number_format(get_post_meta($post->ID , 'cf_default' ,true));?><?php else:?><?php echo number_format(get_post_meta($post->ID , 'cf_extaxprice' ,true));?><?php endif;?><span>(税抜)</span></p> 29<?php endif; ?> 30<?php if(get_post_meta($post->ID,'cf_status',true) == '表示しない'): ?> 31<?php else: ?> 32<p class="pet_list_status"><?php echo get_post_meta($post->ID , 'cf_status' ,true); ?></p> 33<?php endif; ?> 34</div> 35</div> 36</li> 37

一応、エラーコードが指摘している部分
<p class="pet_list_price">」以降を削除しても、
謎の11件目は表示されてしまいます。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2017/05/11 10:19

loop-list.phpも質問文に追記されてはいかがですか。
退会済みユーザー

退会済みユーザー

2017/05/11 10:49

miz様 お世話になります。ご指摘頂いたコードを貼り付けさせて頂きました。
guest

回答2

0

loop-list.phpの28行目でエラーになっているようですよ。

コードを見てみないとわかりませんが、

【覚書】PHPのnumber_format関数でXMLの取得データを扱う場合のエラー対策

Warning: number_formaの応急処置法

第一引数は、数値型にしないといけないとのことなので、確認してみてください。

参考まで。

投稿2017/05/11 10:17

8-0_nyan5

総合スコア2352

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

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

0

ベストアンサー

対象のタクソノミーを一度削除し、再設定する事で、
一旦の解決となりました。

今回の対応が正解だったのかは分かりません。

ご指導下さいました方々、ありがとうございました。

投稿2017/05/12 15:11

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問