wordpressでざっくりOGPに対応する

2013年5月26日

日記代わりにつけているブログを、さらにfacebookにリンクをシェアしている。
いままではOGP設定していなくても本文中の画像を拾ってサムネイルにしてくれていたのが、ここ最近うまく拾ってくれないので、ざっくりOGPを吐き出すようにした。

そういうプラグインもあると思うのですが

自分用のブログで、管理をスマートに分かりやすく、という風なこともなく、分かれば良いレベルなので、カスタムフィールドに直接書いたものをテンプレートに吐き出すことにする。
やることは、ページのタイトルや本文とほぼ同じ。

こういうこと。

テンプレートをちょっと直す

header.phpを直す。直したところは以下のところ。

<html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?> xmlns:og="http://ogp.me/ns#">

<!-- OGP対応で追加 -->
<?php
$image       = get_post_meta( $post->ID, "IMG", true);
$description = get_post_meta( $post->ID, "DESC", true);
if($image) {
?>
>meta property="og:image" content="<?php echo $image; ?>">
<meta property="og:title" content="<?php wp_title( '|', true, 'right' );echo "都市文化生活"; ?>">
<meta property="og:url" content="<?php echo the_permalink();?>">
<meta property="og:description" content="<?php echo $description;?>">
<?php
}
?>

なんてことは無い、カスタムフィールドのOGPデータがあったら、それにそってOGPのヘッダーを出力しますよというもの。