【ワードプレス】はてなブックマークに投稿したブックマークをワードプレスにも投稿する方法

【ワードプレス】はてなブックマークに投稿したブックマークをワードプレスにも投稿する方法。

はてなブックマーク設定の外部サイト連携でURLとキーを登録

最初にはてなブックマーク設定の外部サイト連携でイベント通知を受けとるURLとキーを登録して下さい。

イベント通知を受けとるURLは以下のように登録して下さい。

http://sample.com/wp-content/hatebu-web-hook.php

キーは自動生成して下さい。

Web HookからのHTTPリクエストを受け取るプログラムを用意

以下の場所にWeb Hookからのhttpリクエストを受け取るプログラムを用意して下さい。

/wp-content/hatebu-web-hook.php

require(dirname(dirname(__FILE__)) . '/wp-load.php');

// はてなブックマーク Web Hookのキーを設定
define("KEY", "WEB_HOOK_KEY");

if($_POST['key'] != KEY)
    die("Authentication failed");

// ブックマーク追加かどうか判別
if($_POST['status'] != "add")
    die("Add Status Only");

//http://developer.hatena.ne.jp/ja/documents/bookmark/apis/webhook
$params = array('username', 'title', 'url', 'count', 'permalink', 'status', 'comment', 'timestamp', 'is_private', 'key');
 
if(!array_diff($params, $_POST))
    die('Invalid Parameters');

$_POST = array_map(function($value){
    return htmlspecialchars($value, ENT_QUOTES, 'UTF-8');
}, $_POST);

$post["post_date"]     = $_POST["timestamp"];
$post["post_date_gmt"] = $_POST["timestamp"];
$post["post_title"]    = $_POST["title"];
$post["post_content"]  = $_POST["comment"];
$post["post_status"]  = "publish";

wp_insert_post($post);

以上です。

お気軽にコメントをどうぞ

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください