Alchemyを使って画像ファイルから自動的にタグ付けするWordPressプラグイン

  • 3
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

Alchemyという画像からタグを取得できるAPIがあります。
http://www.alchemyapi.com/api/image-tagging/urls.html

これを使ってWordPressに画像を投稿したら自動的にタグ付けできるプラグインを書いてみました。他のプラグインと同様に/wp-contents/plugins配下に置いて有効化すれば動くと思います。(あんまり試してません)

Alchemyの開発者キーは、ご自身で取得くださいな。

<?php
/*
Plugin Name: add tag with alchemy
Plugin URI: http://barcelona-prototype.com/wordpress
Description: add tag with alchemy
Author: t.uehara
Version: 0.0.1
*/

add_filter('post_updated','add_tag_with_alchemy');

function add_tag_with_alchemy($id){
    $key = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
    $base = "http://access.alchemyapi.com/calls/url/URLGetRankedImageKeywords?apikey=".$key."&forceShowAll=1&outputMode=json&url=";
    $text = get_post($id,'ARRAY_A')['post_content'];
    $preg = '(https?://[-_.!~*\'()a-zA-Z0-9;/?:@&=+$,%#]+)';
    if(preg_match_all($preg, $text, $result) !== false){
        foreach($result[0] as $value){
            if(preg_match("/jpg/",$value)){
                $json = file_get_contents($base.$value);
                $imageKeywords = json_decode($json)->imageKeywords[0]->text;
                wp_set_post_tags($id,$imageKeywords);
            }
        }
    }
    return null;
}

IFTTTを使ってTwitterやFacebookに投稿された画像を片っ端からタギングするのも面白いんじゃないかと思います。