WordPressの投稿記事内に、引数として外部URLを指定すると、URLからOGPを取得してブログカードを表示するショートコードの作り方
php関連記事
PHPのmb_send_mailでメール送信時に、はしご高「髙」やたつさき「﨑」など旧漢字や丸数字の日本語文字化け対策をする
MySQL/MariaDBのデータをPHP側で暗号化・復号する
phpで10進数と16進数、2進数、8進数の変換と0埋め表記
WordPressの条件分岐タグでページを判別する
PHPでpreg_splitの文字化けを回避しながらテキストを改行ごとに区切ってHTMLメールをつくる
WordPressテーマアップロード時に「辿ったリンクは期限が切れています。 もう一度お試しください。」と表示される
PHPで画像アップロード時に比率を保ったまま縮小する
phpで郵便番号を正規表現で3桁・ハイフン・4桁で出力するfunction
phpで電話番号のハイフンを正規表現で出力するfunction
OpenGraph.phpをダウンロードする
下記からOpenGraph.phpをダウンロードする。
ダウンロードしたらわかりやすい場所にアップロードしておく。
子テーマ使ってる場合は子テーマルートでもいい。
opengraph/OpenGraph.php at master · scottmac/opengraph
Helper class for accessing the OpenGraph Protocol. Contribute to scottmac/opengraph development by creating an account on GitHub.
ショートコードを作る
php
function outlink($atts) { extract(shortcode_atts(array( 'addtitle' => "タイトルなし", 'link' => "", ), $atts)); require_once 'OpenGraph.php'; $graph = OpenGraph::fetch($link); if ($graph) { $title = $graph->title; $src = $graph->image; }else{ $title = $addtitle; $src = "noimage.jpg"; } $outlink = ' <a href="'.$link.'" target="_blank"> <div class="card mx-auto mb-4"> <img class="card-img-top" src="'.$src.'" alt="'.$title.'"> <div class="card-body"> <p class="card-text mb-0">'.$title.'</p> </div> </div> </a> '; return $outlink; } add_shortcode('o_link', 'outlink');
ショートコードに渡す引数は、URLと任意で変更できるタイトル。
OGPの有無で処理を振り分けする。
あとは結果をbootstrap4のカードで出力するだけ。
コメント