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

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

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

RSS(Really Simple Syndication)はブログのエントリやニュースの見出し、標準のフォーマットの音声やビデオなどを発行するために使われるウェブフィードのフォーマットの集合体です。

WordPress

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

PHP

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

Q&A

1回答

1365閲覧

ワードプレスサイトにnoteの記事一覧を埋め込み

退会済みユーザー

退会済みユーザー

総合スコア0

RSS

RSS(Really Simple Syndication)はブログのエントリやニュースの見出し、標準のフォーマットの音声やビデオなどを発行するために使われるウェブフィードのフォーマットの集合体です。

WordPress

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

PHP

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

0グッド

0クリップ

投稿2022/03/15 07:57

現在、サイト制作において、noteの記事(最新6件)の埋め込みをしております。

https://dubdesign.net/web/wordpress/nolugin-notecard/
上記のサイトをコピペしましたが、「サムネイル」が表示されません。

「サムネイル」を表示させるためには、どこを編集したら良いでしょうか?
ご教示いただきたいです。

下記にコードを貼り付けています。

php

1<?php 2include_once(ABSPATH . WPINC . '/feed.php'); 3$rss_arr = array('https://note.com/〇〇'); 4$rss = fetch_feed($rss_arr);if (!is_wp_error( $rss ) ) : 5//全部表示する場合は -1 6$maxitems = $rss->get_item_quantity(6); 7$rss->set_cache_duration(1800); 8$rss_items = $rss->get_items(0, $maxitems); endif;?> 9<div class="notecardtype cf"> 10<!--// 取得できた RSS フィードが0件の時は「No items.」と表示します。--> 11<?php if ($maxitems == 0) echo '<li>No items.</li>'; 12else 13foreach ( $rss_items as $item ) : ?> 14<article class="notecardtype__article"> 15<a class="notecardtype__link" href='<?php echo $item->get_permalink(); ?>' target="_blank"> 16<p class="notecardtype__img"> 17<?php if(has_post_thumbnail()): ?> 18<!--//サムネイルがなければ規定の画像を表示します--> 19<?php 20 $hash = substr($item->get_link(), strrpos($item->get_link(), '/') + 1); 21 $api_data = file_get_contents('https://note.mu/api/v1/' . 'notes/' . $hash); 22 $eyecatch = json_decode($api_data, true)['data']['eyecatch']; 23?> 24<?php 25 $first_img = ''; 26 if (preg_match('/<img.+?src=[\'"]([^\'"]+?)[\'"].*?>/msi',$item->get_content(), $matches )) { $first_img = $matches[1]; } 27?> 28<?php 29 if (!empty($eyecatch)){ 30 echo '<img src="'.$eyecatch.'" alt="'.$item->get_title().' eyecatch" width="640" height="auto">'; 31 }; 32?> 33<?php 34 if (!empty($first_img)){ 35 echo '<p class="thumb"><img src="'.esc_attr($first_img).'" alt="'.$item->get_title().' first_img" /></p>'; 36}; ?> 37<?php 38 if(empty($eyecatch) && empty($first_img)){ 39 echo '<img src="../default.jpg" >'; 40 }; 41?> 42<?php endif; ?> 43</p> 44<div class="notecardtype__article-info"> 45<time class="notepubdate entry-time dfont" itemprop="datePublished" datetime="<?php echo $item->get_date('Y.m.d');// 日付 ?>"><?php echo $item->get_date('Y.m.d');// 日付 ?></time> 46<p class="notecardtitle"><?php echo $item->get_title(); ?></p> 47</div> 48</a> 49 <a class="dfont notecat-name catid60"><img src="https://dubdesign.net/wp-content/uploads/2020/11/note_logo.png" alt="note"></a> 50<p class="notedescription"><?php echo mb_substr(strip_tags($item->get_description()), 0, 80);// 抜粋記事の文字数を指定 ?>...</p> 51</article> 52<?php endforeach; ?> 53</div>

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

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

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

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

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

CHERRY

2022/03/15 10:02

実行した結果はどのような HTML が出力されているのでしょうか。
退会済みユーザー

退会済みユーザー

2022/03/15 10:35

<div class="notecardtype cf"> <!--// 取得できた RSS フィードが0件の時は「No items.」と表示します。--> <article class="notecardtype__article"> <a class="notecardtype__link" href='https://note.com/okumikawaworks/n/nc804c6b9ed67' target="_blank"> <p class="notecardtype__img"> </p> <div class="notecardtype__article-info"> <p class="notecardtitle">「インポスター症候群」</p> </div> </a> </article> <article class="notecardtype__article"> <a class="notecardtype__link" href='https://note.com/okumikawaworks/n/n5544f592b55d' target="_blank"> <p class="notecardtype__img"> </p> ソースの一部です。 タイトルなどは出力されますが、「サムネイル」の箇所は空白です・
CHERRY

2022/03/15 11:28

HTML ソースありがとうございます。
guest

回答1

0

出力されている HTML ソースを確認した感じでは、

<p class="notecardtype__img"> </p>

の中身が出力されて無い状況ですね。

ということは 上記 P タグの中にある <?php if(has_post_thumbnail()): ?> から <?php endif; ?> の間が実行されていないと考えられます。

ここの条件判断に なぜ has_post_thumbnail() を使っているのか疑問ですが、とりあえず動作させるなら

<?php if(has_post_thumbnail()): ?>

<?php endif; ?>

の2行だけを削除して、 if 文の中を常に実行するようにしたら画像が出力されないでしょうか。

投稿2022/03/15 11:29

CHERRY

総合スコア25171

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

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

退会済みユーザー

退会済みユーザー

2022/03/15 11:37

消して見ましたが、サイトが真っ白になります!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問