• 締切済み
  • 困ってます

WordPressの質問(q10006002)の続

前後の記事のコメント欄を標示する方法がわかりません。 <?php $team = get_post_meta($post->ID, 'team', true);//赤、青、緑のチームに分ける // 投稿オブジェクトの取得 if ('red' === $team) { $post_red = $post; // 赤(現在) $post_blue = get_adjacent_post(true, '', false); // 青(現在の次) $post = $post_blue; // 現在を青に置きかえる $post_green = get_adjacent_post(true, '', false); // 緑(現在の次:青の次) $post = $post_red; // 現在を赤に戻す } elseif ('blue' === $team) { $post_blue = $post; // 青(現在) $post_red = get_adjacent_post(true, '', true); // 赤(現在の前) $post_green = get_adjacent_post(true, '', false); // 緑(現在の次) } elseif ('green' === $team) { $post_green = $post; // 緑(現在) $post_blue = get_adjacent_post(true, '', true); // 青(現在の前) $post = $post_blue; // 現在を青に置きかえる $post_red = get_adjacent_post(true, '', true); // 赤(現在の前:青の前) $post = $post_green; // 現在を緑に戻す } /*$post_thumbnail_id = get_post_thumbnail_id($post);//画像の投稿データから画像IDを取得する ※おそらくいらない */ $red_post_thumbnail_id = get_post_thumbnail_id($post_red);//赤、青、緑の投稿データから前後の画像IDを取得する $blue_post_thumbnail_id = get_post_thumbnail_id($post_blue); $green_post_thumbnail_id = get_post_thumbnail_id($post_green); $red_post_image_src = wp_get_attachment_image_src($red_post_thumbnail_id);//赤、青、緑の投稿データから前後の画像URLを取得する $blue_post_image_src = wp_get_attachment_image_src($blue_post_thumbnail_id); $green_post_image_src = wp_get_attachment_image_src($green_post_thumbnail_id); /*$post_id = post_id ($post_red,$post_blue,$post_green);*/ ※$argsで設定済みなので多分必要ない // コメントオブジェクトの取得 $args = [ 'author__not_in' => '1', // 管理者を除く 'status' => 'approve', // 承認済み 'type' => 'comment', // コメント ]; $args['post_id'] = $post_red->ID; // 赤のID $comments_red = get_comments($args); // 赤のコメント $args['post_id'] = $post_blue->ID; // 青のID $comments_blue = get_comments($args); // 青のコメント $args['post_id'] = $post_green->ID; // 緑のID $comments_green = get_comments($args); // 緑のコメント // コメントの表示 if (empty($comments_red)) { echo '<p>コメントなし</p>'; } else { echo '<ul>'; foreach ($comments_red as $comment) { echo "<li>{$comment->comment_content}</li>"; } echo '</ul>'; } if (empty($comments_blue)) { echo '<p>コメントなし</p>'; } else { echo '<ul>'; foreach ($comments_blue as $comment) { echo "<li>{$comment->comment_content}</li>"; } echo '</ul>'; } if (empty($comments_green)) { echo '<p>コメントなし</p>'; } else { echo '<ul>'; foreach ($comments_green as $comment) { echo "<li>{$comment->comment_content}</li>"; } echo '</ul>'; }

共感・応援の気持ちを伝えよう!

  • PHP
  • 回答数63
  • 閲覧数673
  • ありがとう数96

みんなの回答

  • 回答No.63
  • dell_OK
  • ベストアンサー率12% (614/5052)

【投稿ページ その3】 ・break,continue構文以外で$offsetをコントロールする方法を探しているんですが、何か良い方法はありますでしょうか? こまかくわけるとこうですね。 ==== RSS バナー広告 記事前編 RSS バナー広告 記事続編 RSS コメント 前後の記事リンク ==== RSSと他のものの登場回数が異なるのでループしない方法でいきましょう。 最初にデータベースからRSSを取得して、$rss1、$rss2、$rss3のみっつに分けてためておきます。 あとはそのまま出力する方法でどうでしょうか。 ---- $rss1の出力 バナー広告 記事前編 $rss2の出力 バナー広告 記事続編 $rss3の出力 コメント 前後の記事リンク ----

共感・感謝の気持ちを伝えよう!

質問者からのお礼

可能であればRSSのURLは固定ページと投稿ページで別のものにしたいですが負荷が多少心配です。

質問者からの補足

【投稿ページ その3】 ・break,continue構文以外で$offsetをコントロールする方法を探しているんですが、何か良い方法はありますでしょうか? こまかくわけるとこうですね。 ==== RSS バナー広告 記事前編 RSS バナー広告 記事続編 RSS コメント 前後の記事リンク ==== RSSと他のものの登場回数が異なるのでループしない方法でいきましょう。 最初にデータベースからRSSを取得して、$rss1、$rss2、$rss3のみっつに分けてためておきます。 あとはそのまま出力する方法でどうでしょうか。 ---- $rss1の出力 バナー広告 記事前編 $rss2の出力 バナー広告 記事続編 $rss3の出力 コメント 前後の記事リンク ---- A.回答ありがとうございます。RSSの出力については理解できたのですが、今のstorage_rss.phpと処理を分けるのか気になります。RSSは同じサイトから出力する予定です。 画像1,画像2,画像3は固定ページと投稿ページそれぞれ同じサイトのURLからを引っ張ります。 画像1タイトル1の固定投稿ページのRSS 画像2タイトル1の固定投稿ページのRSS 画像3タイトル1の固定投稿ページのRSS でURLは同じものにします。 それともSQLから操作するのでしょうか?

  • 回答No.62
  • dell_OK
  • ベストアンサー率12% (614/5052)

【固定ページ その11】 大改造についてはひととおりできてからでかまいません。 私の気がはやりすぎていました。 ところで。 カテゴリーランキング表示のSQL文についてですが、画像2と画像3にまるまるコピーしただけなので、一部修正する必要があります。 ---- AND meta_value = 'single_rss_feed1' ---- 画像2は'double_rss_feed2'に、画像3は'triple_rss_feed3'にしておいてください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

記事の途中で広告を挟むことは下記の記事を参考にしようと考えています。 https://memocarilog.info/wordpress/5568#s1

質問者からの補足

【固定ページ その11】 ところで。 カテゴリーランキング表示のSQL文についてですが、画像2と画像3にまるまるコピーしただけなので、一部修正する必要があります。 ---- AND meta_value = 'single_rss_feed1' ---- 画像2は'double_rss_feed2'に、画像3は'triple_rss_feed3'にしておいてください。 A.修正致しました。教えていただきありがとうございます。 新たな質問は下記になります。 https://okwave.jp/qa/q10022966.html 投稿ページのレイアウトについてなのですが、RSSのコントロールが1番大変だと思われます。 投稿ページはRSS+記事で固定化されていたので問題はありませんでしたが、今回は違います。 break,continue構文以外で$offsetをコントロールする方法を探しているんですが、何か良い方法はありますでしょうか? RSS ↓ バナー広告 ↓ 記事(途中でRSS+バナー広告) ↓ 記事の続編 ↓ RSS ↓ コメント ↓ 前後の記事リンク

  • 回答No.61
  • dell_OK
  • ベストアンサー率12% (614/5052)

【RSS その30】 新しい質問はこちらの質問が自動締切されてからでいいと思いますので削除してください。 もし新しくしたい事情があるのでしたらそれはかまいませんが、いったん削除して投稿しなおしてください。 質問タイトルには「続き」を付加してください。 質問本文はタイトルと同じで十分です。 こちらでの最終質問に応じて回答しますので、質問本文は簡素にしてくださると助かります。 もし自動締切のタイミングが合わなくて最終質問が書けなくても、新しい質問に適当に回答しますので、それに補足してくださればいいです。 ・先ほどRSSが表示できたと補足しましたが、下記のコードをfunctions.phpに出して出力されたものが表示されましたので、いま消してみました。50件表示されていますが、これが時間がたって100件に増えていない場合は保存かURLの取得をstorage_rss.phpから出すか修正する必要があります。 50件が100件に増える根拠はなんでしょうか。 どのRSSサイトも1日当たりの新着記事は10件~20件です。 今日の新着記事が増えても30件~60件だと思います。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

最新の質問になります。カテゴリー、アーカイブ、検索ページにそれぞれsingle,double,tripleのRSSを表示させたとして投稿ページに新たに別の3サイトからのRSSを表示させるとします。 そうした場合、データベースを1追加してSQLでWordpressの自作データベースからRSSを表示させることは可能でしょうか? SQLでRSSを引っ張るテーブルなどがあるのか心配です。

質問者からの補足

【RSS その30】 新しい質問はこちらの質問が自動締切されてからでいいと思いますので削除してください。 もし新しくしたい事情があるのでしたらそれはかまいませんが、いったん削除して投稿しなおしてください。 質問タイトルには「続き」を付加してください。 質問本文はタイトルと同じで十分です。 A.了解いたしました。削除して新たに質問いたします。 50件が100件に増える根拠はなんでしょうか。 どのRSSサイトも1日当たりの新着記事は10件~20件です。 今日の新着記事が増えても30件~60件だと思います。 A.確認いたしましたところ取得できており安心しました。投稿ページの作成に移ります。

  • 回答No.60
  • dell_OK
  • ベストアンサー率12% (614/5052)

【RSS その29】 functions.phpにも同じ関数があるので、そこもduuble_rss_feedにしてください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

先ほどRSSが表示できたと補足しましたが、下記のコードをfunctions.phpに出して出力されたものが表示されましたので、いま消してみました。50件表示されていますが、これが時間がたって100件に増えていない場合は保存かURLの取得をstorage_rss.phpから出すか修正する必要があります。 function get_rss_site_url($template_number) { // テンプレート番号ごとのRSSサイトのURL if (1 == $template_number) { return array( 'http://h-pon.doorblog.jp/index.rdf', 'http://aqua2ch.net/index.rdf', 'https://worldfn.net/index.rdf' ); } elseif (2 == $template_number) { return array( 'http://h-pon.doorblog.jp/index.rdf', 'http://aqua2ch.net/index.rdf', 'https://worldfn.net/index.rdf' ); } elseif (3 == $template_number) { return array( 'http://h-pon.doorblog.jp/index.rdf', 'http://aqua2ch.net/index.rdf', 'https://worldfn.net/index.rdf' ); } } // RSSの保存 function storage_rss($template_number) { global $wpdb; if (1 == $template_number) { $rss_table_name = 'single_rss_feed'; } elseif (2 == $template_number) { $rss_table_name = 'double_rss_feed'; } elseif (3 == $template_number) { $rss_table_name = 'triple_rss_feed'; } // 古いRSSの削除 引数(接続オブジェクト、RSSテーブル名)戻り値(削除対象日付) $delete_date = delete_old_rss($rss_table_name); // RSSサイトのURLを取得 引数(テンプレート番号)戻り値(RSSサイトのURL配列) $url1 = get_rss_site_url($template_number); foreach ($url1 as $url) { if (($rss = @simplexml_load_file($url)) === false) { continue; } foreach ($rss->item as $item) { $dc = $item->children('dc', true); $date = date('Y-m-d H:i:s', strtotime($dc->date)); // ※削除対象日付より古いRSSは保存しない if ($date < $delete_date) { continue; } $title = (string) $item->title; $link = (string) $item->link; $content = $item->children('content', true); $result = preg_match('/<img[^>]*src=\"([^"]+)\"[^>]*>/i', $content->encoded, $matches); if (1 == $result) { $img = $matches[1]; } else { $img = ''; } $subject = (string) $dc->subject; $data = array('title' => $title, 'link' => $link, 'date' => $date, 'img' => $img, 'subject' => $subject); $format = array('%s', '%s', '%s', '%s', '%s'); $wpdb->replace($rss_table_name, $data, $format); } } } こちらから引き続きよろしくお願い致します。 https://okwave.jp/qa/q10022730.html

質問者からの補足

確認したところ今、表示されました。functions.phpが原因だったようです。 申し訳ありませんでした。

  • 回答No.59
  • dell_OK
  • ベストアンサー率12% (614/5052)

【RSS その28】 ・こちらの確認は一応取りましたがやはり取得できませんでした。 なにをどう確認されたのでしょうか。 パスを指定されましたか。 ファイルがふたつありましたか。 いえ、このやりとりはもうやめた方がいいので先に進めましょう。 phpMyAdminでテーブルduuble_rss_feedを作ってください。 テーブルdouble_rss_feedは削除せずに放置してください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

https://okwave.jp/qa/q10023298.html 質問本文がないと削除されてしまいましたので、新たに質問させていただきました。 こちらからよろしくお願い致します。

質問者からの補足

・こちらの確認は一応取りましたがやはり取得できませんでした。 なにをどう確認されたのでしょうか。 パスを指定されましたか。 ファイルがふたつありましたか。 いえ、このやりとりはもうやめた方がいいので先に進めましょう。 phpMyAdminでテーブルduuble_rss_feedを作ってください。 テーブルdouble_rss_feedは削除せずに放置してください。 A.パスとファイルは2つ設置しており両方確認済みです。 functions.phpを確認したところduuble_rss_feedとなっておりそこを変更すると画面表示もdouble_rss_feedとして表示されました。 申し訳ありません。string(15) "double_rss_feed" コンテンツは表示されていないので格納のところがどうしても機能していないようです。

  • 回答No.58
  • dell_OK
  • ベストアンサー率12% (614/5052)

【RSS その27】 RSSが表示されるようになったら検討していただきたいことがあります。 行き当たりばったりな感じですが、質問者さまの質問に対応するかたちでどうにか実装できているので、このままでよければそれでかまいません。 どのようなことかというとRSSのテーブルの構造についてです。 現在は画像数ごとにテーブルが分かれています。 一般的にはこのようなことはしないと思います。 少なくとも私はしません。 これまで取得してきたRSSのデータを私なりに加味してみると、テーブルはひとつにして以下のような構造でいいと思います。 プログラムを修正する前提です。 ====テーブル rss_feed ====カラム type url date title link img subject ====プライマリキー type url date ==== typeには以下のものが入ります。 single_rss_feed double_rss_feed triple_rss_feed 用途は画像数に対応するためのものです。 RSS表示の際の抽出条件にこれを追加する必要があります。 テーブルがひとつなので、画像4や画像5が増えた時の対応が少し楽になります。 カスタムフィールド名と同じ方が効果的なので、カスタムフィールド名'single_rss_feed1'は'single_rss_feed'にした方がいいと思います。 urlにはRSSサイトのURLが入ります。 用途はdateと合わせてプライマリーキーの項目にすることです。 同じRSSサイトに同じ日時のデータはない、ことが私が見てきたデータを加味した前提です。 現在は重複させないために全項目をユニークキーにしていますが、実は、現在の方法「なければ追加しあれば更新する」という処理は負荷のかかるものです。 RSSサイトごとの登録済みの最大日時がわかるので、それ以降の日時のデータを追加する、という処理にすれば負荷を下げることができます。 dateはもともとある項目を前に移動させました。 用途は上記のurlのことに加え、もともとのある削除処理です。 テーブルが複数あるとその数分削除処理を実行する必要があります。 テーブルがひとつになることで削除処理は一回でできるようになります。 テーブルのことはここまでです。 他には。 画像1と画像2と画像3のコードを比較していただいて分かったと思いますが、ほとんどが同じ処理です。 functionsに移行できそうなものがあります。 それと、新しくpage-base.php(仮名)を作ってコードをごっそり移行する方法です。 動作に違いのある部分は変数を渡すことで調整し、front-page.phpなどからrequire_onceで参照します。 front-page.phpなどは20行もないコードになると思います。 試してはいないので、どこまで実現可能かわかりませんが、その気があれば、落ち着いた頃に検討していただければと思います。

共感・感謝の気持ちを伝えよう!

質問者からの補足

こちらの方法ですとおそらくは投稿ページも同じ表示であるならが前提だと思われます。 なぜならRSSと投稿記事の表示をまとめて front-page.phpなどは20行もないコードに変更するということだと思うからです。 投稿ページは以前少しお話しましたがレイアウトを変えます。 もしまとめられるとするのであればRSS部分のみになりそうです。 page-base.phpを作成する方法も後ほど実践したいのですが、投稿ページとアーカイブページを作り終えたあとで良いでしょうか? RSSの処理が想像以上に重い為改善の余地がありそうなのとコードは短縮できるものがあるならそのほうがセキュリティ上はいいと思いますので。 実のところプラグインの関係上、お問い合わせページの機能も作成していきたいと思っておりまして。 まだまだ完成には時間がかかりそうです…

  • 回答No.57
  • dell_OK
  • ベストアンサー率12% (614/5052)

【RSS その26】 ・なぜ取得できないのか考えたのです$template_number が効いていないことが原因だと思われます。 そうですね。 その通りです。 状況から想像するとstorage_rss.phpがふたつあるのではないかと思います。 /home/gtyaszhi/public_html/storage_rss.php /home/gtyaszhi/public_html/wp-content/themes/sample_theme/storage_rss.php 現在実行されているのは前者だと思われます。 なぜなら、require_onceでパスを指定せず'wp-load.php'で参照できているから同じフォルダにあるということ。 またテーブル名が"duuble_rss_feed"となっているので、そこでエラーとなり保存できていないこと。 実行されていないですが、最新コードでいただいている方が後者だと思われます。 自作のものはテーマフォルダ内にある方が管理しやすいと思いますので後者のものを実行させて欲しいところです。 そうするとrequire_onceにパスの指定が必要です。 ただ、cronがこの階層のものを直接実行できない仕様になったのかも知れませんので、実行可能かどうかをテストしてください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

フィードの判定が上手くいかない状態なのですが、何かしら別の対策などはないでしょうか? rss_table_nameは以前から間違えていたものが反映されているとしたら下記の構文を変更しないといけません。 // RSSの保存 function storage_rss($template_number) { global $wpdb; if (1 == $template_number) { $rss_table_name = 'single_rss_feed'; } elseif (2 == $template_number) { $rss_table_name = 'double_rss_feed'; } elseif (3 == $template_number) { $rss_table_name = 'triple_rss_feed'; }

質問者からの補足

【RSS その26】 ・なぜ取得できないのか考えたのです$template_number が効いていないことが原因だと思われます。 そうですね。 その通りです。 状況から想像するとstorage_rss.phpがふたつあるのではないかと思います。 /home/gtyaszhi/public_html/storage_rss.php /home/gtyaszhi/public_html/wp-content/themes/sample_theme/storage_rss.php 現在実行されているのは前者だと思われます。 なぜなら、require_onceでパスを指定せず'wp-load.php'で参照できているから同じフォルダにあるということ。 またテーブル名が"duuble_rss_feed"となっているので、そこでエラーとなり保存できていないこと。 実行されていないですが、最新コードでいただいている方が後者だと思われます。 自作のものはテーマフォルダ内にある方が管理しやすいと思いますので後者のものを実行させて欲しいところです。 そうするとrequire_onceにパスの指定が必要です。 ただ、cronがこの階層のものを直接実行できない仕様になったのかも知れませんので、実行可能かどうかをテストしてください。 A.こちらの確認は一応取りましたがやはり取得できませんでした。 コードごと変える必要がありそうです。現状システムの欠陥はすべて見直して手を加えることができません。 string(15) "duuble_rss_feed"は表示されたままなので、 $rss_table_name = get_rss_table_name(2);が何かしらの原因で使えないため代替えコードを作る必要があります…

  • 回答No.56
  • dell_OK
  • ベストアンサー率12% (614/5052)

【RSS その25】 ・変更してみたのですが処理が重いのか認識されていないのかRSSが表示できません… 処理が重く実行できないことは考えられますでしょうか? 処理が重い場合はその旨のエラーが発生すると思います。 PHPの設定によりますが、何秒以上応答がない(出力がない)とかです。 結果(RSSが表示されない)ばかりに注目しないで、テーブルにデータが登録されているかどうかを確認してください。 データがあるのに表示されないのであれば表示処理に問題があることになりますし、データがなければ表示されないのは当然です。 データがなければ保存に失敗しているか、RSSサイトからの取得に失敗しているか、ということです。 過程を無視して結果を見ても進みません。 それと、処理が重いのは当然です。 RSSサイトからの取得には時間がかかります。 その取得時間には自サーバーの性能は関係ありません。 その時間を閲覧ユーザーに感じさせないためにcronにさせているのです。 ・以前お聞きした時は1にまとめられているため2と3は必要ないと記憶しております。 追加してみましたがRSSは表示されませんでした。 それはcronを使って別のコードから実行するようになるので、front-page.php、page-secound.php、page-third.phpから削除するようにとお願いしたことかと思います。 画像2、画像3の話しが出てくるまで放置しておいたのは、エラーが起こった際に、負荷のかかる処理が二回余計に繰り返されることを危惧していたからです。 画像2、画像3でRSSが表示されていないと言う指摘を受けたら追加していただく予定でした。 それが画像1でもRSSが表示されないと言う状態なので、追加するのはまだ早かったかもしれません。 ・storage_rssの下記の表記を消してみましたがRSSは表示されています。仕組みが理解できていないかもしれないのですが、下記のコードは必要なのでしょうか? storage_rss(1)は必要です。 2と3は1が解決するまではなくてもいいです。 ・$rss_table_name = get_rss_table_name(2); //※2に変更 var_dump($rss_table_name); で確認してみたところ、string(15) "duuble_rss_feed"と表示されました。 最新のコードは修正されているので"double_rss_feed"が表示されるはずです。 "duuble_rss_feed"が表示されているということは、最新のコードと、サーバーのコードに差異があります。

共感・感謝の気持ちを伝えよう!

質問者からの補足

【RSS その25】 処理が重い場合はその旨のエラーが発生すると思います。 PHPの設定によりますが、何秒以上応答がない(出力がない)とかです。 A.ありがとうございます。登録に保存に問題が有るようです。 結果(RSSが表示されない)ばかりに注目しないで、テーブルにデータが登録されているかどうかを確認してください。 データがあるのに表示されないのであれば表示処理に問題があることになりますし、データがなければ表示されないのは当然です。 データがなければ保存に失敗しているか、RSSサイトからの取得に失敗しているか、ということです。 過程を無視して結果を見ても進みません。 A.なぜ取得できないのか考えたのです$template_number が効いていないことが原因だと思われます。 なぜかといいますとstorage_rss(1)のみで画像が1の場合は表示されていたからです。 消しても表示されているのは何らかの形で1度動いたことによって global $wpdb; if (1 == $template_number) { $rss_table_name = 'single_rss_feed'; に記憶されたからだと思います。 2と3を追加して動かないということは、直前のif文が機能していないことが考えられます。$rss_table_nameでテーブルネームを読み取れていないのではないかと考えました。 } elseif (2 == $template_number) { $rss_table_name = 'double_rss_feed'; } elseif (3 == $template_number) { $rss_table_name = 'triple_rss_feed'; } $rss_table_name = get_rss_table_name(2); //※2に変更 var_dump($rss_table_name); ↓ string(15) "duuble_rss_feed" と表示されていますが、すべてdouble_rss_feedに修正済みです。過去のデータから切り替わっていないものだと思われます。$rss_table_nameが正常に機能していれば、double_rss_feedに切り替わるはずです。 それと、処理が重いのは当然です。 RSSサイトからの取得には時間がかかります。 その取得時間には自サーバーの性能は関係ありません。 その時間を閲覧ユーザーに感じさせないためにcronにさせているのです。 A.失礼いたしました。解説ありがとうございます。 ・storage_rssの下記の表記を消してみましたがRSSは表示されています。仕組みが理解できていないかもしれないのですが、下記のコードは必要なのでしょうか? storage_rss(1)は必要です。 2と3は1が解決するまではなくてもいいです。 A.1つお聞きしたいのですがphpmyadminのテーブル名の取得は$から可能なのでしょうか?RSSのテーブル識別が上手くいっていないように見えます。処理を分けていたころは上手く表示され1つにまとめると表示されない。 storage_rss(1);のコードが黒くなっていてPHPコードとして認識されていないようにも見えます。

  • 回答No.55
  • dell_OK
  • ベストアンサー率12% (614/5052)

【RSS その24】 テーブル名が違いますので修正してください。 ----storage_rss.php } elseif (2 == $template_number) { $rss_table_name = 'double_rss_feed'; ----

共感・感謝の気持ちを伝えよう!

質問者からのお礼

storage_rssの下記の表記を消してみましたがRSSは表示されています。仕組みが理解できていないかもしれないのですが、下記のコードは必要なのでしょうか? storage_rss(1); storage_rss(2); storage_rss(3); $rss_table_name = get_rss_table_name(2); //※2に変更 var_dump($rss_table_name); で確認してみたところ、string(15) "duuble_rss_feed"と表示されました。 以前のPHPと見比べると、保存の部分以外は大きく変わっていませんでした。下記のコードがstorage_rss.phpに必要である場合、保存が正確に機能していないようです。 storage_rss(1); storage_rss(2); storage_rss(3); ※最新コード https://wandbox.org/permlink/PLuguTUnXCHoTyd6

質問者からの補足

修正ありがとうございます。 変更してみたのですが処理が重いのか認識されていないのかRSSが表示できません… 処理が重く実行できないことは考えられますでしょうか?

  • 回答No.54
  • dell_OK
  • ベストアンサー率12% (614/5052)

【RSS その23】 ・画像2と画像3の処理が重いのかコードが間違っているのかテーブルを削除しても格納されません… 2と3を追加してください。 ---- /* RSSの保存 引数(テンプレート番号) */ storage_rss(1); storage_rss(2); storage_rss(3); ----

共感・感謝の気持ちを伝えよう!

質問者からの補足

回答ありがとうございます。 以前お聞きした時は1にまとめられているため2と3は必要ないと記憶しております。 追加してみましたがRSSは表示されませんでした。

関連するQ&A

  • コメント欄を出力した後に返信機能を追加したい

    カスタムフィールド名をつけて記事を振り分けていきたいのですが、上手くいきませんどうすれば良いでしょうか? $nextID = $post_ids[$current + 1]; //$currentの1つあと $next2ID = $post_ids[$current + 2]; //$currentの2つあと echo '<ul>'; //1つあとの記事のコメント $args = ['post_id' => $nextID, 'number' => 1]; $comments = get_comments($args); if (empty($comments)) { $comment = 'コメントなし'; } else { $comment = $comments[0]->comment_content; } echo "<li>{$comment}</li>"; //2つあとの記事のコメント $args = ['post_id' => $next2ID, 'number' => 1]; $comments = get_comments($args); if (empty($comments)) { $comment = 'コメントなし'; } else { $comment = $comments[0]->comment_content; } echo "<li>{$comment}</li>"; echo '</ul>';

    • 締切済み
    • PHP
  • SQLに条件を追加したいのですが方法が分かりません

    <?php $search_query = get_search_query(); ?> <?php global $wpdb; ?> <?php $sql = " SELECT COUNT(*) AS all_count FROM wp_posts AS post INNER JOIN ( SELECT * FROM wp_postmeta WHERE meta_key='single_rss_feed1' ) AS feed ON post.ID = feed.post_id LEFT JOIN ( SELECT * FROM wp_postmeta WHERE meta_key = '_thumbnail_id' ) AS thumbnail ON post.ID = thumbnail.post_id LEFT JOIN wp_posts AS attachment ON thumbnail.meta_value = attachment.ID LEFT JOIN ( SELECT category.object_id AS post_id, GROUP_CONCAT(category.name ORDER BY category.term_id) AS category_names, GROUP_CONCAT(category.slug ORDER BY category.term_id) AS category_slugs FROM ( SELECT sub_a.name, sub_a.slug, sub_c.object_id, sub_a.term_id FROM wp_terms AS sub_a LEFT JOIN wp_term_taxonomy AS sub_b ON sub_a.term_id = sub_b.term_id LEFT JOIN wp_term_relationships AS sub_c ON sub_b.term_taxonomy_id = sub_c.term_taxonomy_id WHERE sub_b.taxonomy = 'category' ) AS category GROUP BY category.object_id ) AS category ON post.ID = category.post_id WHERE post.post_type = 'post' AND post.post_status = 'publish' AND post.post_content LIKE %s OR post.post_title LIKE %s OR post.post_excerpt LIKE %s) $query = $wpdb->prepare($sql, "%$search_query%", "%$search_query%", "%$search_query%"); $results = $wpdb->get_results($query); ?> <?php if ($results) : ?> <ul> <?php foreach ($results as $result) : ?> <li> <?php echo "<a href=\"{$result->post_url}\">{$result->post_title}</a>"; echo $result->post_date; echo $result->category_names; if (empty($result->comment_count)) { echo 'コメントなし'; } else { echo "{$result->comment_count}件のコメント"; } echo $result->post_excerpt; echo "<a href=\"{$result->post_url}/#more-{$result->post_id}/\">続きを読む</a>"; if (empty($result->thumbnail_url)) { $result->thumbnail_url = 'noimage.jpg'; } echo "<img src=\"{$result->thumbnail_url}\">"; ?> </li> <?php endforeach; ?> </ul> <?php endif; ?> ※追加したい条件 $categories = []; foreach (get_categories() as $category) { $categories[$category->cat_ID] = $category; } function set_other_data($post) { // アイキャッチIDを取得 $post_thumbnail_id = get_post_thumbnail_id($post); // アイキャッチ画像の確認 if ($post_thumbnail_id) { // 存在する $image_src = wp_get_attachment_image_src($post_thumbnail_id); // サムネイルの画像URLを設定 $post->thumbnail = $image_src[0]; } else { // 存在しない $post->thumbnail = 'noimage.jpg'; } // カテゴリーIDを取得 $post->categories = wp_get_post_categories($post->ID); // コメントテキスト if (0 == $post->comment_count) { // コメントなし $post->comments = __('No Comments'); } else { // コメントあり $post->comments = $post->comment_count.'件のコメント'; } // コメントリンク $post->comments_link = get_comments_link($post->ID); }

    • 締切済み
    • PHP
  • WordPressの コメント欄 に関する質問です(2)

    WordPressの コメント欄 に関する質問です(2) コメントのURLを必須にする方法をを調査しています 名前 aaaaaaaaaaaaaaaaaaaa メールアドレス bbbbbbbbbbbbbbbbb URL  cccccccccccc を入力する箇所が下記にあります 名前とメールアドレスは必須ですが、 URLを必須にするにはどのような記述にすればいいのでしょうか? 元になる全文はこちらです http://44fsdfa.blogspot.com/p/blog-page.html 下記のように 変更しましたが、URLを入力しなくてもすんなり投稿されてしまいます URLもメールと同じように必須にするには 他にどこを見ればいいのでしょうか? -------------------------------------- <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform"> <?php if ( is_user_logged_in() ) : ?> <p><?php printf(__('Logged in as <a href="%1$s">%2$s</a>.', 'kubrick'), get_option('siteurl') . '/wp-admin/profile.php', $user_identity); ?> <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="<?php _e('Log out of this account', 'kubrick'); ?>"><?php _e('Log out &raquo;', 'kubrick'); ?></a></p> <?php else : ?> <p><input type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> /> <label for="author"><?php _e('aaaaaaaaaaaaaaaa', 'kubrick'); ?> <?php if ($req) _e("(公開)", "kubrick"); ?></label></p> <p><input type="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> /> <label for="email"><?php _e('bbbbbbbbbbbbbbbb (必須)', 'kubrick'); ?> <?php if ($req) _e("(非公開)", "kubrick"); ?></label></p> <p><input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="3" <?php if ($req) echo "aria-required='true'"; ?> /> <label for="author"><?php _e('ccccccccccccccccc', 'kubrick'); ?> <?php if ($req) _e("(公開)", "kubrick"); ?></label></p> <?php endif; ?>

    • ベストアンサー
    • PHP
  • WordPressの コメント欄 に関する質問です

    WordPressの コメント欄 に関する質問です コメントのURLを必須にする方法をを調査しています 名前 aaaaaaaaaaaaaaaaaaaa メールアドレス bbbbbbbbbbbbbbbbb URL  cccccccccccc を入力する箇所が下記にあります 名前とメールアドレスは必須ですが、 URLを必須にするには どのような記述にすればいいのでしょうか? -------------------------------------- <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform"> <?php if ( is_user_logged_in() ) : ?> <p><?php printf(__('Logged in as <a href="%1$s">%2$s</a>.', 'kubrick'), get_option('siteurl') . '/wp-admin/profile.php', $user_identity); ?> <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="<?php _e('Log out of this account', 'kubrick'); ?>"><?php _e('Log out &raquo;', 'kubrick'); ?></a></p> <?php else : ?> <p><input type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> /> <label for="author"><?php _e('aaaaaaaaaaaaaaaa', 'kubrick'); ?> <?php if ($req) _e("(公開)", "kubrick"); ?></label></p> <p><input type="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> /> <label for="email"><?php _e('bbbbbbbbbbbbbbbb (必須)', 'kubrick'); ?> <?php if ($req) _e("(非公開)", "kubrick"); ?></label></p> <p><input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" size="22" tabindex="3" /> <label for="url"><?php _e('cccccccccccccccc', 'kubrick'); ?><?php if ($req) _e("(公開)", "kubrick"); ?></label></p> <?php endif; ?> ----------------------------- 全文はこちらです http://44fsdfa.blogspot.com/p/blog-page.html

    • ベストアンサー
    • PHP
  • WordPressで孫ページ一覧を取得

    下記のコードで子ページ一覧を取得していたのですが、子ページ一覧ではなく孫ページ一覧を取得する必要が出てきました。 <?php $parentId = get_the_ID(); $args = 'posts_per_page=-1&post_type=page&orderby=menu_order&post_parent='.$parentId; query_posts($args); if (have_posts()) : while (have_posts()) : the_post(); ?> <div class="child-box"> <a href="<?php the_permalink(); ?>"><img src="<?php echo wp_get_attachment_url( get_post_thumbnail_id() ); ?>" width="190" alt=""></a> <p class="title"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></p> <p>価格:<span class="price"><?php $selling_price = get_field('selling_price'); echo $selling_price."円"; ?></span></p> </div> <?php endwhile;?> <?php wp_reset_query(); ?> <?php else:?> <?php endif;?> 上記のような形で孫ページ一覧を取得する方法をご存知のかた、是非ご教授ください。

    • ベストアンサー
    • PHP
  • Wordpressにおいてカスタム投稿の読み込み

    Wordpressにて美容系ポータルサイトを作っています。 お店情報のカスタム投稿 口コミのカスタム投稿 の二つ、そしてトップページとの連動を作りたいと思っています。 まずはお店情報にはサロン名やら営業時間やらキャンペーンメニューなどがポストタイプ(salon_posttype)にて入っています。 口コミには行ったサロン名や、感想、名前などがポストタイプ(review_posttype)で入っています。 そこでお店情報のページに、 そのお店の口コミの投稿を表示させたいと思っています。 つまり、review_posttypeにて入れた、'salonname'のキーがそのページのページ名=(サロン名)と同じであれば表示、で行けるかなと構文を書きましたが、ここからがわかません。 <?php query_posts('&post_type=review_posttype'); while(have_posts()) : the_post(); ?> <?php if( get_post_meta(get_the_ID(), 'salonname', true) != '' ):?> ↑↑↑ここを"もしsalonname=今見ているページの題名なら"にしたいです。↑↑↑ <p class="title"><?php echo get_post_meta(get_the_ID(), 'salonname', true);?></p> <p class="naiyou"><?php echo get_post_meta(get_the_ID(), 'review_naiyou', true);?></p> <p class="detail"><a href="<?php the_permalink() ?>">詳しくはこちら</a></p> <?php endif;?> <?php endwhile; ?> <?php wp_reset_query(); ?> どこをどうしたらいいでしょうか?そもそもここまでも合っていますか?

    • 締切済み
    • PHP
  • Wordpressのコメント欄受付・表示について。

    WordPress 2.8.6で構築 現在全てのブログでコメント受付が非表示になっていますが、その中の1つのカテゴリのブログだけでコメント欄を表示させるのが目的です。 phpの知識が追い付かずネットでも解決方法が見つけられず、以下のcomments.phpを修正してカテゴリの設定を変更するイメージでしたが理解が追い付きません。 どなたかお詳しい方いらっしゃいますでしょうか? <?php // Do not delete these lines if (isset($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME'])) die ('Please do not load this page directly. Thanks!'); if ( post_password_required() ) { ?> <p class="nocomments"><?php _e('This post is password protected. Enter the password to view comments.', 'kubrick'); ?></p> <?php return; } ?> <!-- You can start editing here. --> <?php if ( have_comments() ) : ?> <h3 id="comments"><?php comments_number(__('No Responses', 'kubrick'), __('One Response', 'kubrick'), __('% Responses', 'kubrick'));?> <?php printf(__('to “%s”', 'kubrick'), the_title('', '', false)); ?></h3> <div class="navigation"> <div class="alignleft"><?php previous_comments_link() ?></div> <div class="alignright"><?php next_comments_link() ?></div> </div> <ol class="commentlist"> <?php wp_list_comments();?> </ol> <div class="navigation"> <div class="alignleft"><?php previous_comments_link() ?></div> <div class="alignright"><?php next_comments_link() ?></div> </div> <?php else : // this is displayed if there are no comments so far ?> <?php if ( comments_open() ) : ?> <!-- If comments are open, but there are no comments. --> <?php else : // comments are closed ?> <!-- If comments are closed. --> <p class="nocomments"><?php _e('Comments are closed.', 'kubrick'); ?></p> <?php endif; ?> <?php endif; ?> <?php if ( comments_open() ) : ?> <div id="respond"> <h3><?php comment_form_title( __('Leave a Reply', 'kubrick'), __('Leave a Reply for %s' , 'kubrick') ); ?></h3> <div id="cancel-comment-reply"> <small><?php cancel_comment_reply_link() ?></small> </div> <?php if ( get_option('comment_registration') && !is_user_logged_in() ) : ?> <p><?php printf(__('You must be <a href="%s">logged in</a> to post a comment.', 'kubrick'), wp_login_url( get_permalink() )); ?></p> <?php else : ?> <form action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post" id="commentform"> <?php if ( is_user_logged_in() ) : ?> <p><?php printf(__('Logged in as <a href="%1$s">%2$s</a>.', 'kubrick'), get_option('siteurl') . '/wp-admin/profile.php', $user_identity); ?> <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="<?php _e('Log out of this account', 'kubrick'); ?>"><?php _e('Log out &raquo;', 'kubrick'); ?></a></p> <?php else : ?> <p><input type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> /> <label for="author"><small><?php _e('Name', 'kubrick'); ?> <?php if ($req) _e("(required)", "kubrick"); ?></small></label></p> <p><input type="text" name="email" id="email" value="<?php echo esc_attr($comment_author_email); ?>" size="22" tabindex="2" <?php if ($req) echo "aria-required='true'"; ?> /> <label for="email"><small><?php _e('Mail (will not be published)', 'kubrick'); ?> <?php if ($req) _e("(required)", "kubrick"); ?></small></label></p> <p><input type="text" name="url" id="url" value="<?php echo esc_attr($comment_author_url); ?>" size="22" tabindex="3" /> <label for="url"><small><?php _e('Website', 'kubrick'); ?></small></label></p> <?php endif; ?> <!--<p><small><?php printf(__('<strong>XHTML:</strong> You can use these tags: <code>%s</code>', 'kubrick'), allowed_tags()); ?></small></p>--> <p><textarea name="comment" id="comment" cols="100%" rows="10" tabindex="4"></textarea></p> <p><input name="submit" type="submit" id="submit" tabindex="5" value="<?php _e('Submit Comment', 'kubrick'); ?>" /> <?php comment_id_fields(); ?> </p> <?php do_action('comment_form', $post->ID); ?> </form> <?php endif; // If registration required and not logged in ?> </div> <?php endif; // if you delete this the sky will fall on your head ?>

    • ベストアンサー
    • PHP
  • 「CSSで1つの要素に複数のクラスを指定する」に対応したブラウザは?

    恥ずかしながら、最近ようやく『同一idは一つのページ内で複数用いるべきではない』の意図するところが分かってきました。これまで、この事を理解していなかったがために、 aaa ←文字色:青、背景色:黄 bbb ←文字色:緑、背景色:黄 ccc ←文字色:青、背景色:赤 ddd ←文字色:緑、背景色:赤 といった表現を実現するために、 ---CSSファイル内の記述--- .blue{color:blue;} .green{color:green;} #bg_yellow{background-color:yellow;} #bg_red{background-color:red;} ---HTMLファイル内の記述---- <div class="blue" id="bg_yellow">aaa</div> <div class="green" id="bg_yellow">bbb</div> <div class="blue" id="bg_red">ccc</div> <div class="green" id="bg_red">ddd</div> というようなソースをよく書いておりました。この場合、idの意味を理解して、解決するには、例えば下の3通りの方法があるように思います。 (1)IDを4つ作成し、1つずつ適用する ---CSSファイル内の記述--- #blue_bg_yellow{color:blue;background-color:yellow;} #green_bg_yellow{color:green;background-color:yellow;} #blue_bg_red{color:blue;background-color:red;} #green_bg_red{color:green;background-color:red;} ---HTMLファイル内の記述---- <div id="blue_bg_yellow">aaa</div> <div id="green_bg_yellow">bbb</div> <div id="blue_bg_red">ccc</div> <div id="green_bg_red">ddd</div> (2)クラスを4つ作成し、1つずつ適用する ---CSSファイル内の記述--- (1)の『#』を『.』にする ---HTMLファイル内の記述---- (1)の『id』を『class』にする (3)クラスを4つ作成し、2つずつ適用する ---CSSファイル内の記述--- .blue{color:blue;} .green{color:green;} .bg_yellow{background-color:yellow;} .bg_red{background-color:red;} ---HTMLファイル内の記述---- <div class="blue bg_yellow">aaa</div> <div class="green bg_yellow">bbb</div> <div class="blue bg_red">ccc</div> <div class="green bg_red">ddd</div> 今回の例では、数も少なく、どれでもそれほど変わらない感じですが、この(3)の書き方には、どれほどのブラウザが対応しているのでしょうか? 個人的に使用しております ・Firefox 2.0 ・Internet Explorer 6.0 では動作するのですが、それ以外のブラウザでの動作に関してご存知の方は、ぜひ教えて下さい。(特にMacは持っていませんので、Macのブラウザの情報は非常にありがたいです) ある程度のブラウザで動作するようなら、 .b,strong{font-weight:bold;} .i,em{font-style:italic;} .u,ins{text-decoration:underline;} .s,del{text-decoration:line-through;} .u_s{text-decoration:underline line-through;} のように、よく使いそうな表現をまとめたスタイルシートを作ろうかな、などと考えております。打ち消しながら下線引く事なんかはまずないとは思いますが、これは例えばの話です。 長文を最後までお読みいただきありがとうございました。

    • 締切済み
    • CSS
  • RSSと投稿記事を交互に表示させたい

    内容の修正が必要ですが原因がわかりません 1.投稿に画像やカテゴリーなどが表示されず、タイトルと日付けのみ表示されている 2.RSS画像にURLがついておらず画像のみ表示されている 3.RSSの画像がない場合ダミー画像を表示させたいが書き方が調べてもわからない <?php $dbh = connect_db(); $categories = []; foreach (get_categories() as $category) { $categories[$category->cat_ID] = $category; } function set_other_data($post) { // アイキャッチIDを取得 $post_thumbnail_id = get_post_thumbnail_id($post); // アイキャッチ画像の確認 if ($post_thumbnail_id) { // 存在する $image_src = wp_get_attachment_image_src($post_thumbnail_id); // サムネイルの画像URLを設定 $post->thumbnail = $image_src[0]; } else { // 存在しない $post->thumbnail = 'noimage.jpg'; } // カテゴリーIDを取得 $post->categories = wp_get_post_categories($post->ID); // コメントテキスト if (0 == $post->comment_count) { // コメントなし $post->comments = __('No Comments'); } else { // コメントあり $post->comments = $post->comment_count.'件のコメント'; } // コメントリンク $post->comments_link = get_comments_link($post->ID); } delete_old_rss($dbh);//接続オブジェクトを渡す //RSS保存 $dbh = connect_db();//① $stmt = $dbh->prepare('insert into rss_feed (title, link, date, img) values (?, ?, ?, ?) on duplicate key update title=?, link=?, date=?, img=?');//② $url1 = get_rss_site_url(); foreach ($url1 as $url) { if (($rss = @simplexml_load_file($url)) === false) { continue; } foreach ($rss->item as $item) { $dc = $item->children('dc', true); $date = date('Y-m-d H:i:s', strtotime($dc->date)); if ($date < $delete_date) { continue; } $title = $item->title; $link = $item->link; $content = $item->children('content', true); $result = preg_match('/<img[^>]*src=\"([^"]+)\"[^>]*>/i', $content->encoded, $matches); if (1 == $result) { $img = $matches[1]; } else { $img = ''; } $stmt->execute([$title, $link, $date, $img, $title, $link, $date, $img]); } } if (ctype_digit($_REQUEST['page'])) { $current_page = (int) $_REQUEST['page']; } else { $current_page = 1; } if ($current_page > $wp_query->max_num_pages) { $current_page = $wp_query->max_num_pages; } $block_per_page = 2; $rss_per_block = 18; $posts_per_block = $wp_query->post_count / $block_per_page; //RSS読み込み $rss_per_page = $block_per_page * $rss_per_block; $rss_offset = ($current_page - 1) * $rss_per_page; $sql = 'SELECT * FROM rss_feed ORDER BY date DESC LIMIT ?,?'; $stmt = $dbh->prepare($sql); $stmt->bindParam(1, $rss_offset, PDO::PARAM_INT); $stmt->bindParam(2, $rss_per_page, PDO::PARAM_INT); $stmt->execute(); $rss_items = $stmt->fetchAll(PDO::FETCH_OBJ); $posts_per_page = $block_per_page * $posts_per_block; $posts_offset = ($current_page - 1) * $posts_per_page; $args = [ 'posts_per_page' => $posts_per_page, 'offset' => $posts_offset, ]; $post_items = get_posts($args); //表示 for ($i = 0; $i < $block_per_page; ++$i) { echo '<h2>ブロック</h2>'; echo '<h3>RSS</h3>'; for ($j = 0; $j < $rss_per_block; ++$j) { $item_index = $i * $rss_per_block + $j; if ($item_index >= count($rss_items)) { break; } $item = $rss_items[$item_index]; echo '<ul>'; echo "<li class=\"sitelink\"><a href=\"{$item->link}\">{$item->title}</a></li>"; echo "<li class=\"sitelink\"><a href=\"{$item->link}\">site</a></li>"; echo "<li class=\"sitedate\">{$item->date}</li>"; if (!empty($item->img)) { echo "<li><img src=\"{$item->img}\" width=\"100\"></li>"; } echo '</ul>'; } echo '<h3>投稿</h3>'; for ($j = 0; $j < $posts_per_block; ++$j) { $item_index = $i * $posts_per_block + $j; if ($item_index >= count($post_items)) { break; } $item = $post_items[$item_index]; echo '<ul>';   echo "<li><a href=\"{$item->guid}\">{$item->post_title}</a></li>"; echo "<li>{$item->post_date}</li>"; echo '</ul>'; } }

    • ベストアンサー
    • PHP
  • ワードプレス、PHPについての質問です。

    はじめまして、みなさま、どうかお力添え頂けませんでしょうか? 現在、ワードプレスでドロップシッピングサイトを作っているのですが、商品一覧ページに自動で在庫を取得して表示するようにしたく、四苦八苦しております。 現在、いろいろ調べながらあと少しのところくらいまではきているようなのですが、以下のソースを実行しても商品一覧ページの一つ目の在庫状況の取得まではできても2つ目以降がエラーになってしまいます。 やりたいこととしては、カステムテンプレートを使って商品IDを取得し、商品一覧ページに在庫状況を出力させるような形です。 途中に<!--ここから-->と書いてある箇所が対象となります。その他の箇所はCSS部分等をある程度消していますが、ほぼそのままに書いてあります。 <?php while(have_posts()): the_post(); ?> <?php if ( has_post_thumbnail()) : ?>haveThumbnail<?php endif; ?>"> <?php if ( is_user_logged_in() == TRUE ) : edit_post_link('編集', '<span class="edit-link">[ ', ' ]    </span>');endif ?> <a href="<?php the_permalink(); ?>"> <?php $image_fish = wp_get_attachment_image_src( get_post_meta($post->ID, '商品画像をUpload', true),'thumbnail' );?> <img src="<?php echo $image_fish[0]; ?>" width="<?php echo $image_fish[1]; ?>" height="<?php echo $image_fish[2]; ?>"> <a href="<?php the_permalink(); ?>"><?php echo get_post_meta($post->ID, '商品情報', true); ?> <?php echo get_post_meta($post->ID, '価格', true); ?></a></div> </div> <?php    $days = 7; $today = date_i18n('U'); $entry = get_the_modified_date('U'); $kiji = date('U',($today - $entry)) / 86400 ; if( $days > $kiji ){ echo 'new'; } ?> <!--ここから--> <?php function get_content($url){ $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $url); curl_setopt ($ch, CURLOPT_HEADER, 0); ob_start(); curl_exec ($ch); curl_close ($ch); $string = ob_get_contents(); ob_end_clean(); return $string; } /* * もしもAPIから商品情報XML取得&パース */ $auth_code = "もしもAPI認証コード"; $article_id = get_post_meta($post->ID, 'item_id', true); $url = "http://api.moshimo.com/article/search?authorization_code=" .$auth_code ."&article_id=" .$article_id; $xml = get_content ($url); $data = simplexml_load_string($xml); $article = $data->Articles->Article; $stock_status= $article->StockStatus; $shop_id = $data->Shop->ShopId; if ($stock_status == 0){   //0は在庫切れ echo '在庫切れ'; }else{ ?> <input type="hidden" name="article_id" value="<?=$article_id?>"> <?php } ?> <!--ここまで--> <!-- [ /.entryTxtBox ] --> </div><!-- [ /.infoListBox ] --> <?php endwhile; ?> どこかソースがおかしいとは思うのですが、どこをどう直せば良いかわかりませんでした。 なぜ1回取得しただけで止まってしまうのかわからず、また、エラーとしてはfunctionの箇所を指摘されているようです。 ずーっと考えていたのですが、全く前に進めず、大変お恥ずかしいお話しですが、何卒お力添えいただきたく、何卒宜しくお願い致します。

    • ベストアンサー
    • PHP