WPは標準で、サイトに設定されたOGPタグを利用してURLだけでサイトにブログカードを表示することが出来ます。PHPの勉強のためにも自力で取得してみます。

WP標準OGPの取得を停止

WP4.4からはブログカードの表示が標準で付くようになりましたので、停止しましょう。

remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'rest_output_link_wp_head');
remove_action('wp_head', 'wp_oembed_add_host_js');
functions.php
ソースコード装飾ならGoogle code prettify

opengraphをDL

他サイトのOGPを利用する「opengraph」は、gitで配布されています。

require_once 'OpenGraph.php';
$graph = OpenGraph::fetch($url);
if ($graph) {
  $title       = $graph->title;
  $url         = $graph->url;
  $description = $graph->description;
  $src         = $graph->image;
}
ソースコード装飾ならGoogle code prettify

ファビコンを取得するには

googleがスクレイピングしたfaviconを非公式に利用出来るみたいなので、それを利用してます。

$host = parse_url($url)['host'];
$searchFavcon = 'https://www.google.com/s2/favicons?domain='.$host;
if($searchFavcon){
  $favcon = '<img class="favcon" src="'.$searchFavcon.'">';
}
ソースコード装飾ならGoogle code prettify