
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 o...
ショートコードを作る
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のカードで出力するだけ。


コメント