WordPressにFlickr画像を添付&リンク

WordPressはoEmbedというのに対応していて、YoutubeやFlickrのURLを記事に貼り付けるだけで、メディアを埋め込むことができる。

これはこれで便利なのだが、先日FlickrのURLを貼りつけた際に、画像は埋め込まれる一方で、大元のページ上にリンクが貼られないことが気になった。
(ちなみに、A要素で囲んだときには、メディアが埋め込まれない。。。)

これでは、人様の写真を紹介するつもりでも、結果的にパクったことになってしまう。
(リンクをはってもパクってることには変わりないかもしれないけど。)

Flickrにリンクをはるフィルタープラグイン

以下のソースをテーマファイルのfunctions.php内にコピペするか、この記事を参考にして簡単プラグインを作成して、その中にコピペする。

add_filter('oembed_result', 'filter_flickr', '', 3);

function filter_flickr($html, $url, $args){
    if (preg_match('/http:\/\/(www\.)?flickr\.com\/.*/', $url)) {
        return "<a href=\"{$url}\">{$html}</a>";
    } else {
        return $html;
    }
}

上記を上手く適用できると画像にリンクが貼られる。
ちなみに正規表現をimg要素にマッチするようにすれば、その他の画像共有サイトにも対応できるような気もする。

ちなみに

oEmbedの結果はキャッシュされるらしく、保存済みの投稿には適用されない。
そんなときは、保存しなおすと適用される。

実は、これに気がつかなくて、すごーくハマった。

関連記事

お問い合わせ

システム開発に関するお問い合わせをお待ちしています。
お急ぎの方は、Twitterでどうぞ。
もちろん、このページへのコメントも大歓迎です!


1 Tweet

One Comment

Leave a Reply

Additional comments powered by BackType