WordPressでは本体機能もプラグインも、自動で最新版にアップデートができるという素晴らしい機能があります。

この機能のおかげで、追加機能やバグの修正版が出た場合でも、ボタン1つで最新のパッケージが利用出来るため、いちいちファイルをダウンロードしてサーバー上のファイルを更新するという手間がありません。

とても便利な自動更新機能なのですが、何かの都合で本体を更新出来ない場合や、更新したくないプラグインが存在する場合、サイドバー等に常に更新通知が表示されるため、逆に非常に煩わしいものに変わってしまいます。

そんな時、WordPress本体や特定のプラグインの更新通知を非表示にする方法があるので紹介します。

WordPress本体のアップデート通知を非表示にする

これは下記のサイトを参考にしました。

利用しているテーマの functions.php に下記のコードを記述するだけです。

add_filter('pre_site_transient_update_core', create_function('$a', "return null;"));

これでWordPress本体のアップデート通知は無効になります。

特定のプラグインのアップデート通知を非表示にする

これは調べてもやっている方がいないようなので、WordPress本体のソースを解析してみました。

利用しているテーマの functions.php に下記のコードを記述します。

add_filter('site_option__site_transient_update_plugins', 'filter_hide_update_notice');
function filter_hide_update_notice($data) {
	if (isset($data->response['プラグインのメインファイルまでのファイルパス'])) {
		unset($data->response['プラグインのメインファイルまでのファイルパス']);
	}
}

「プラグインのメインファイルまでのファイルパス」は、WordPressの wp-content/plugins ディレクトリの直下から、プラグインのメインファイルまでのパスを、相対パスで指定します。

例えば私の環境では、最新版に更新することで大幅に機能低下してしまうため、過去バージョンのまま利用しているYARPP(Yet another related posts plugin)というプラグインがあります。

これを例にすると、下記のように記述します。

add_filter('site_option__site_transient_update_plugins', 'filter_hide_update_notice');
function filter_hide_update_notice($data) {
	if (isset($data->response['yet-another-related-posts-plugin/yarpp.php'])) {
		unset($data->response['yet-another-related-posts-plugin/yarpp.php']);
	}
}

これで、特定のプラグインの更新通知を無効にする事ができます。

OGP属性であるfb:adminsに自分のFacebook IDを指定したWebページに、Facebookでログインした状態でアクセスすると、そのWebページに設置したいいね!ボタンの横に「管理用ページ」というリンクが表示されるのにお気付きでしょうか?

このリンクから管理用ページにアクセスすると、Facebookページ(旧ファンページ)のような画面になります。

実は管理用ページというのは、外部のWebページ用のFacebookページのようなもので、管理者であるユーザー以外は見られないということ以外、ほぼFacebookページと同一の機能を持っています。

そのため、いいね!ボタンを押してファンになってくれた方などに、後から一斉にお知らせを配信することが可能であり、使い方によっては非常に便利なページです。

詳細が下記のサイトに載っていますので、是非一度ご覧下さい。

しかし、この管理用ページへのリンクですが、いいね!ボタンの対象であるWebページのog:type属性がarticleの場合には、表示されず、アクセスすることができません。

よって、上述のような使い方ができないのです。

Facebook側の仕様

これはFacebook側のポリシーがあるようで、

あと、ひとつだけ注意すべきなのは og:type が article なものはこのお知らせの機能は使えません。 これは、 article は一時的なものでリアルなモノを指さない(ブログの記事など、それ自体がファンの対象ではない)からだそうです。

フェイスブック、ミクシィ、グリーで使われている OGP (Open Graph Protocol) とは何か – IT戦記

ということで、バグなどでは無く明確な仕様のようです。

表示されない場合はog:typeをチェックしてみる

最初に、

意外と気付いていない方が多いのがこの3つ目です。 冒頭で「外部ページをFacebookページに見せかけれる」と書いたかと思います。 実は、OGPを設定すれば、普通のFacebookページとは違う、「外部ページ用のFacebookページ」が生成されています。 2 この「外部ページ用のFacebookページ」のウォールにコメント・URL等を投稿する事で、そのページに「いいね!」を押した人のニュースフィードに、アップデート通知を送れるのです。

<遂に公開>SEOの2倍のアクセスを稼ぐFacebook活用術。皆が知らない「いいね!」ボタンと「OGP」の設定方法、超解説:ガイアックスソーシャルメディア ラボ/Facebook・twitterの企業利用法についての研究機関

という記述を見て管理用ページの存在を知ったのですが、このサイトではog:type属性がarticleの場合に管理用ページが生成されない点については触れていないため、気づかない方もいらっしゃると思います。

Facebookのいいね!ボタンを設置してfb:adminsを指定してみたけど、管理用ページへのリンクが出ない!とお嘆きの方、当該Webページのog:type属性が、articleになっていないかを確認してみてください。

管理用ページを削除した場合

管理用ページは、一度アクセスするとFacebookページと同様に、Facebookのサイドバーに表示されます。

現在は表示されないようです。アクセスするためには、いいね!ボタンの横にある「管理用ページ」のリンクから行くしか無いようです。(2011.07.09)

そこからFacebookページと同様に管理できるのですが、ここで管理用ページを「削除」をしてしまった場合、次から管理用ページにアクセスできなくなる場合があるようです。

管理用のFacebookページは、いいね!ボタン横のリンクからアクセスするか、URL Linterで当該のページを解析した際に自動生成されるようなのですが、自分の環境だと再生成されなくなってしまいました。

バグなのか仕様なのかわかりませんが、念のため管理用ページの削除をする場合は気をつけて下さい。

どうやらこのエラーはバグのようです。Facebookのバグトラッカーで議論されているようなので、続報があり次第また追記します。 (2011.07.08)

バグの解決がなされたようです。バグトラッカー上でも解決の報告が見られます。自分のWebサイトもURL Linterでのエラーは表示されなくなり、いいね!ボタンにも、正しく「管理用ページ」と「インサイト」のリンクが表示されるようになりました。(2011.07.09)

WebサイトにOGPタグを設定したとき、果たして正しく設定できているのか?と疑問になったり、Webサイトを編集してOGPタグを書き換えたのに、Facebookのウォールやニュースフィードに投稿されたWebサイトの情報が更新されなかったことはありませんか?

そんな時便利なのが、FacebookのURL Linterです。
下記のURLからアクセスできます。

このツールがいったい何かというと、入力されたURLのWebページに正しくOGPタグが設定されているかをチェックして、正しくなければエラーを、正しければどういった内容で設定されているかをレビューしてくれます。

いわば、OGPのチェックツールですね。

Facebookのキャッシュも削除してくれる

またこのツールは、入力されたURLに関するFacebook上の古いキャッシュデータを削除してくれる役割も持っています。

基本的にFacebookもWebサイトクローラーのような物を持っていて、Webサイトに設定されたOGP情報などをキャッシュとして蓄えています。

いいね!ボタンやシェアボタンなどでWebサイトがFacebookのウォールなどに流れる際は、キャッシュがあればキャッシュからデータを読み込むため、一度Facebookに掲載されたWebサイトのOGPなどを変更しても、再度FacebookのクローラーがWebサイトのデータをキャッシュしてくれないと、データが更新されません。

URL Linterは、入力されたURLの古いキャッシュを削除して、新しいデータで上書きしてくれます。

そのため、OGPを設定したり、設定し直した場合に利用する事で、新しい情報を即Facebookに反映させることができます。

WordPress用のプラグインも

WordPressを利用していて、一度公開した記事がFacebookにキャッシュされてしまっている場合、タイトルや内容を変更したとしても、やはりFacebookのキャッシュが優先されてしまうために変更が反映されません。

そんな時、下記の記事で紹介されているプラグインを利用すると、URL Linterをフックして即Facebook上のキャッシュを書き換えてくれます。

つい最近、iTunesのバージョンを上げたところ、iTunes内で画面切り替えが発生する場合や、何かしらの操作をした場合に「ギュンッ」とか「ビュンッ」と言ったような、おかしな音が鳴るようになってしまいました。

この対処方法を調べたのでまとめておきます。

コマンドプロンプトからコマンドを打つだけ

これはどうやら公式に認められている問題のようで、Appleのサイトにも対処方法が記載されています。

それによると、コマンドプロンプトから特定のコマンドを実行するだけで解決するようです。

コマンドの実行方法

iTunesが起動している場合は終了して下さい。
その後、おもむろにWindowsのコマンドプロンプトを立ち上げます。

立ち上がったプロンプトから、下記のコマンドを打ち込んで、Enterを押します。
インストール場所、32ビット版と64ビット版のWindowsでパスが違うので気をつけて下さい。

コマンドは、コピーしてプロンプト上で【右クリック】 → 【貼り付け】が間違えなくて良いでしょう。

推奨パスにインストール済みの場合

iTunesをインストールする場合に、インストールフォルダを変更していない場合です。

32ビット版のWindowsを利用して居る場合
"C:\Program Files\iTunes\iTunes.exe" \setPrefInt "force-accessibility-off" 1
64ビット版のwindowsを利用して居る場合
"C:\Program Files (x86)\iTunes\iTunes.exe" \setPrefInt "force-accessibility-off"

その他のパスにインストールしている場合

iTunesをインストールする場合に、インストールフォルダを独自に指定した場合です。

"【iTunesをインストールしたフォルダ】\iTunes.exe" \setPrefInt "force-accessibility-off"

これで解決

特に「完了しました」などのフィードバックもありませんが、iTunesを立ち上げると異音は無くなっているはずです。

Facebookのいいねボタンを設置して数日たったのですが、GoogleAnalyticsのアクセスログに異常な数の ?fb_xd_fragment=というクエリのついたアクセスが発生したため、その原因と解決策を調査したのでメモしておきます。

IE7以下 + Facebookいいねボタンのバグ

どうやらこれは、IE7以下でFacebookのいいねボタンが設置してあるページを閲覧した場合のバグのようで、IE8以上や他のモダンブラウザで閲覧した場合には、このアクセスログは残りません。

解決方法

根本的な解決方法はFacebook側のスクリプトを修正してもらう他なさそうですが、今更IE6や7のために修正されるとも思えません。

とりあえず実害としてはログが汚れるということだけなので、GoogleAnalyticsのフィルタ機能を使って、当該クエリをカウントしないように設定すれば問題なさそうです。

Analyticsでの設定方法は下記サイトが非常に詳しいので参考のこと。