WordPressとはてなブログを連携させるのでR

はてなブログは、WordPressよりもカスタマイズしにくいのでR。

しかし、

一通りのシステムは揃っているので、WordPressよりもcssやらのカスタマイズにこだわらないなら、ブログのシステムとしてとてもよい選択でR。

なんとなくブログのデザインにあたるテーマもはてなブログでは揃っていたので、ちょうど、WordPressとTumblrの中間に位置するようなシステムと感じたのでR。

ただし、

明らかにはてなブログに準じたようなサイトを、WordPressで、構築するには、それなりの時間がかかるのも事実でR。

サイトのデザインよりも、むしろ記事に専念したい人は、はてなブログも選択肢に入るとよいのでR。

しかし、

先にWordPressでシステムを構築している人は、あえてはてなブログをチョイスすることはないと思うのでRが、そこは、ミーの単純さゆえに「はてなブログもどんなもんだ」的にチャレンジしたくなってしまったのでR。

やってしまった…、しかも、Proで…

のでR。

Proという言葉に、とても、弱いミーのでR。

ただし、

はてなブログで一からコンテンツを作るには、大変なのでR。

そこで、まずは、WordPressとの連携を試みたのでR。

すると、方法が3つあるようなのでR。

ひとつは、①メール投稿を使う、

もうひとつは、②AtomPubを使う、

さらに、もうひとつは、③IFTTTを使う、

でR。

ここと、ここと、ここにその方法が詳細に書かれてあったのでR。

この中で、自分でするのが、①、②、他のシステムに委ねるのが③でR。

③のIFTTTは、PinterestやTumblrやWordPressなどの間の連携で試してみたことがRが、そこは他のシステムに委ねるために、自分の理想通りとなることもあれば、ならないこともあったのでR。ならない場合は、自分ではどうしようもないので、そこは諦めるしかないのでR。

今回は、①メール投稿を使う、②AtomPubを使うでチャレンジしたのでR。

①メール投稿を使う、に関してはWordPressの「外観」→「テーマの編集」→テーマのfunction.phpに、この方の記事を参考に、

function send_hatena($post_id) {
  $post = get_post($post_id);

  $headers = array( 'Content-Type: text/html; charset=UTF-8' );

  $to = 'hobohobo.nichinichi@blog.hatena.ne.jp';
  $subject = '$post->post_title';

  $search = array('<h7','/h7>
','<h6','/h6>','<h5','/h5>','<h4','/h4>','<h3','/h3>','<h2','/h2>','<h1','/h1>','/p>
');
  $replace = array('<h9','/h9>','<h8','/h8>','<h7','/h7>','<h6','/h6>','<h5','/h5>','<h4','/h4>','<h3','/h3>','/p>');

  $body  = str_replace($search,$replace,nl2br($post->post_content));
  wp_mail( $to, $subject, $body, $headers );
  remove_filter( 'wp_mail_content_type', 'text/html' );

  return;
}
add_action( 'publish_post', 'send_hatena', 1 ,6);

を追加するのでR。

ちなみに、上のソースの

  $to = 'hobohobo.nichinichi@blog.hatena.ne.jp';

は下の図の投稿メールアドレス、下書きとしたいならば、下書き投稿メールアドレスを設定するのでR。ちなみに、下の図ははてなブログの「設定」→「詳細設定」で確認できるのでR。ほぼ日はこちらで確認できるのでR。

さらに、上のソースの

add_action( 'publish_post', 'send_hatena', 1 ,6);

のpublish_postは、WordPressで投稿された投稿を、再度投稿し直すとactionとなるのでR。

②AtomPubを使う、に関してはこれまた、こちらの方の記事を参考に、実施したのでRが、エラーがでたので、こちらの方の記事にあるように、「一番最後の行の、$req->getResponseBody();の中身を見てみましょう。var_dumpでもなんでもOKです。わたしはここで、400 – XML Parse Errorとなってしまっていました。」という何かのエラーだと思った次第でR。

しかし、

①メール投稿を使う、で、すでに、よい感じだったので、この②AtomPubを使う、のエラーに関しては問題解決しないままでR。

はてなブログのカスタマイズも含めて、はてなブログには下の本はとても分かりやすい本なのでR。





この記事をシェアできます。

月額900円(税抜)から、高速・多機能・高安定レンタルサーバー『エックスサーバー』
WordPressの運用に特化したレンタルサーバー『wpXレンタルサーバー』