【WordPress】「Telmina+」設置とそれに伴う試行錯誤(その2)

 先日、「Telmina.com」内に「Telmina+」というコンテンツを追加したときに、「Google+」上での発言をブログに取り込むために「Google+ Crossposting」というWordPressプラグインを用いることにいたしました。

関連記事
【WordPress】「Telmina+」設置とそれに伴う試行錯誤

 ところが、このプラグインでGoogle+の発言を取り込む場合、通常の使用法では、どうも定期的・自動的に取り込んでくれないようです(もしかして私の環境だけでしょうか???)。

 いちいちGoogle+で発言をするたびにその都度ブログの管理画面を開いて、マニュアル更新するのも非常にかったるいです。ましてや、帰省や旅行等で長期間外出する場合など、そのような運用では都合が悪くなることもあります。

 仕方ないので、当分の間は、CRONジョブを用いて1時間ごとに手動更新用のURLをたたくというせこい方法で逃げることにしました。

 やりたいことは次の通り。

  • 手動更新用のURLを何らかの方法でたたく。
  • そのためのプログラムを、シェルスクリプトから呼び出す。
  • 呼び出し用のシェルスクリプトを、CRONで定期的に呼び出す。

 作成する必要のあるファイルは、URLをたたくPHPスクリプトと、それを呼び出すためのシェルスクリプトの2つです。

 今回の例では、それぞれ、仮に「g_crossposting.php」「g_crossposting.sh」というファイル名にし、Webブラウザから直接アクセスできない場所に保存します。私の場合、自分のホームディレクトリ 1)public_html」の配下ではない に「cron」というディレクトリを作成し、その中にシェルスクリプトとPHPスクリプトを配置することにしました。

 シェルスクリプトはこんな感じ。

#!/bin/sh
 
/usr/local/bin/php /<ホームディレクトリまでの絶対パス>/cron/g_crossposting.php

 SSHクライアントで直接ログインしてシェルスクリプトをたたく場合、わざわざPHP実行ファイルやスクリプト自身と同じディレクトリ内にあるPHPスクリプト・ファイルへのパスを絶対パスで書く必要などないのですが、CRONから呼び出すときはなぜかそれではうまく行かず、絶対パスで指定する必要があります。

 次にPHPスクリプト。

<?php
header('Content-type: text/plain');
$url = 'http://plus.example.com/wp-admin/options-general.php?page=g-crossposting-key-config&g_crossposting_manual_import=true';
$fp = fopen($url, "r");
if (!$fp) {
	printf("Cannot open %s.", $url);
	exit;
}
echo "OK";
fclose($fp);
?>

 私はいろいろごちゃごちゃと書いてしまいましたが、要は手動更新用のURLをたたくことができさえすれば満足です。

 なお、スクリプト内のパスやURLはあえて書き換えています。そのまま単純にコピペしても動きませんので、適宜書き換えてください。手動更新用のURLは、「Google+ Crossposting」プラグインの管理画面からコピーしてしまえばよいでしょう。

 2つのファイルをサーバ上にアップしたら、最後にCRONジョブの設定です。

 「Telmiuna.com」でも用いている「CORESERVER.JP」では、CRONジョブをWebの管理画面から設定できます。

 今回、私の環境では毎時25分に更新することにしたので、CRONジョブの設定は次のようになります。

25 * * * * /<ホームディレクトリまでの絶対パス>/cron/g_crossposting.sh

 やはり、シェルスクリプトのパスは、各自適宜読み替えてください。

 これで、手動更新という煩わしい作業からやっと解放されました。

 Google+とWordPressブログを連携させるのに、これよりももっとスマートな方法はありそうな気がするのですが、今の自分ではこれが精一杯です(ぉぃ)。もし、「CORESERVER.JP」の環境でも使える、もっといい方法をご存じの方がいらっしゃいましたら、是非とも教えていただきたいと思います。

 当分の間は、これで様子を見てみることにします…。

プラグイン配布元
Telmina+」では、「Google+ CrosspostingWordPress Plugins

このブログで関連すると思われる他の投稿:

00

References   [ + ]

1.public_html」の配下ではない
この記事はGoogle+, IT, WordPressに投稿されました タグ: , , , , , , , , , . このパーマリンクをブックマークする。 コメントを投稿するか、トラックバックをどうぞ: トラックバック URL.

2 comments on “【WordPress】「Telmina+」設置とそれに伴う試行錯誤(その2)

  1.  後日談。

     実は、当初予定していた「Google+Blog」プラグインを用いる方法がうまく行かなかったのは、どうやら当サイト側の不具合に起因していたようです。

     今朝ほど、すでに使用を停止していて不要になったWordPressプラグインのいくつかをファイルごとサーバから除去したところ、あっさり問題が解決しました。

     というわけで、本文中に書いた「Google+ Crossposting」とCRONを用いる方法は停止することにしました。

     なお、サイト内をいじったことにより、さらにたまっていた大量のピンバック要求が通ったり、なぜか今月中頃から使用できなくなっていた「WordPress Related Post for Japanese」プラグインが復活したりと、思わぬ収穫(?)もありました。

     やっぱり、使用しないプラグインやそれによって生成されるファイルなどは、可能な限りサーバから除去したほうが良さそうですね(汗)。

  2. Pingback: 【WordPress】「Telmina+」設置とそれに伴う試行錯誤(その3)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

* Copy This Password *

* Type Or Paste Password Here *

1,625スパムコメントは、これまでのところでブロックされたSpam Free Wordpress

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>