Open Graph Pro: OGPを導入する

WordPress へ投稿した内容を FaceBook に跳ばす流れを作ったわけですが、左側に表示するイメージが空白で寂しい感じで投稿されます。どうやら画像を出すためには OGP (Open Graph Protocol) の導入が必要との事。

WP-OGPの導入とかも試したのだけれどバグがあったりとか、テンプレートの直接修正が必要だったりとか、あまり良い状態で保てないような感があったので、Open Graph Proを導入する事にしました。概要はこんな感じ。

  1. WB 側でプラグインを自動インストール
  2. Facebook Developers – Appsから新しいアプリを作成
    1. App Nameに任意の名前を入力して続行…完了させる
    2. 表示されたApp IDを控える
    3. User Name から Admin User に入力するIDを調べる

Admin User に入力する ID は https://graph.facebook.com/(ユーザーネーム) を出力した際の ID になります。

後はプラグイン Open Graph Pro の設定で Facebook の項目に先ほど取得したふたつの ID を入力してあげて表示するための画像を設定すれば完了。表示ロゴは WordPress の公式のものを利用します。

via
WordPressのOGP設定は「Open Graph Pro」がベスト | Last Day. jp

Facebook for WordPressの動作が安定しない(テスト投稿)

一応、Facebookで新規のページを作成してからプラグインを再設定してみた。

エントリ作成画面の一番したに “Facebook Status on Your Timeline” という項目が出たので投稿してみようと思うのだけれど、なんか一寸時間が経つと消えてしまったりする。動きが怪しいなあ。
このエントリはテスト投稿を兼ねるものとして投稿してみるけれど上手く行くだろうか。

…結局 Facebook とのシェアリングは上手く行かず。Twitter通してエントリポップはタイムライン上に行われるので、このプラグイン使うの止めちゃおうと決めた。

WP Plugin: WP-Math-2

ふと気になってtex2MMLにて変換しているエントリについてValidatorを実行してみたのですが、結果はボロボロでした。インライン系の変換の際にどうしてもmathタグがpタグに対して入れ子になってしまうのが宜しく無いようでして。そこで記載内容をこれまでと変更する事無く以降できるプラグインを検索したところ WP-Math-2 というプラグインに辿り着きました。

このプラグインを使うとエントリ自体の置き換えは実行しないで表示の際の変換のみとなるので、XHTMLの生成に負荷がかからず変換トラブルも発生しなさそうです。試しに万有引力の公式を描いてみるとこんな感じです。

[ F = G frac{M m}{r^2} ]

作者であるWoody Wang氏に感謝。

via
Woody的技?Blog » WP-Math-2 released

追記 2015/03/20

そういえばJetpackにてBeautiful Mathを有効にした後マークアップを修正するのを忘れていました。上記はこんな感じになります。

F = G frac{M m}{r^2}

どうでしょう。見えますか?

WP Plugin: Batch Cat

Flickrに投稿して転送しているエントリが全て未分類となってしまっていたので、一括でカテゴリ指定変更をしたいと探していたところ引っかかったプラグインです。カテゴリの追加だけであれば標準機能でいけるのですが、付け替えとなるとプラグインが必要のようですね。

使い方は簡単です。カテゴリやキーワードをベースにしてエントリを抽出して対象にチェック。下段のカテゴリ一覧から最終的に割り当てたいカテゴリにチェックを入れて Set categories to posts をクリック。

是非お試しを。

via
【牧碼志】 » WordPress Plugin: Batch Cat

WP Plugin: Comment Timeout

ここ数ヶ月(というか1年以上)更新やメンテナンスをサボっていたので過疎化が進みに進んでいたのですが、一方でスパムコメントが結構来ていたので良く考えてみたところ、過去のエントリに対してのスパムコメントでした。そんなわけでプラグインを検索したところ直に引っかかった Comment Timeout を導入してみました。PHPのバージョン整合性さえ確認しておけば導入に問題が出ることは無いと思います。

「設定」から「Comment Timeout」を選び、「Close comments on old posts」にチェックをするとカスタマイズパラメタの設定項目が現れます。2週間後にコメント受付をクローズしてしまって問題がないのであれば標準のまま使ってOKだと思いますよ。

via
WordPress › Comment Timeout « WordPress Plugins

Add Litebox Pluginによる文法エラーの解消

何で今まで気がつかなかったんだろうという場所で文法エラーが発生している事に気がつきました。

Line 80, Column 103: character “[” is not allowed in the value of attribute “rel”

…e_2011-12-24-6-7-36.png” rel=”lightbox[2481]”><img src=”http://cefa.sakura.ne.…

It is possible that you violated the naming convention for this attribute. For example, id and name attributes must begin with a letter, not a digit.

何とかならないモノかと調べていたところ、Lightbox 2 and XHTML 1.1 validation | simon.schönbeck.dkの記事にたどり着きました。 “[” は”_” で置き換えられそうな雰囲気なので、Lightbox Plugin の add-lightbox/lightbox-auto.php を触ります。

function addlightboxrel_replace ($content)
{   global $post;
        $pattern = "/<a(.*?)href=('|")([^>]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>(.*?)</a>/i";
    $replacement = '<a$1href=$2$3.$4$5 rel="lightbox['.$post->ID.']"$6>$7</a>';
    $content = preg_replace($pattern, $replacement, $content);
    return $content;
}

ここの場所を次のように書き換えてみます。

function addlightboxrel_replace ($content)
{   global $post;
        $pattern = "/<a(.*?)href=('|")([^>]*).(bmp|gif|jpeg|jpg|png)('|")(.*?)>(.*?)</a>/i";
    $replacement = '<a$1href=$2$3.$4$5 rel="lightbox_'.$post->ID.'"$6>$7</a>';
    $content = preg_replace($pattern, $replacement, $content);
    return $content;
}

これで解決できました。

序にDTDの指定について警告が出ていたので修正。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN" "http://www.w3.org/Math/DTD/mathml2/xhtml-math11-f.dtd">

やはり偶にはValidatorを実行しないといけないなあ…と反省のクリスマスイヴでした。
続きを読む Add Litebox Pluginによる文法エラーの解消

WP Plugin: Lightboxタグ追加機能と投稿内容の一括置換

これまで使っていた Flexible Upload が WP 3.0.1 から使えなくなってしまった為、代替手段を探していたところ見つけたのが Add Lightbox 。これでとりあえずは問題なしとします。

…ところが、このAdd Lightboxを入れた弊害が Flexible Upload が埋め込んでいたタグです。Flexible Upload が imgタグ導入時に rel 要素を追加していたのに対して、Add Lightbox はページを生成する時に動的に rel要素を追加します。その為、旧エントリを表示しようとすると、 rel要素が2つ重なってしまって構文解析エラーを引き起こします。

そこで見つけたのがSearch Regex。これを使うとある文字列を使っているエントリを検索できるのと、完全パターン化していれば置換することができます。これで一応はすべてのページが表示できるようになりました。

よかったよかった。

WP26: Flexible Uploadの動作に不具合

Plugin: Flexible Uploadを導入すると投稿作成時に「メディアを追加」というアイコン群が出現します。このボタンを押すとファイルのアップロードツールが動くのですが、その動作がおかしい。

Warning: call_user_func_array() [function.call-user-func-array]: {hogehoge} ‘media_admin_css’ was given in {hogehoge}

みたいなPHPのエラーをはいている様子。

詳しい修正方法についてはWordPress 2.6 でのメディアアップロード機能の不具合 ? [WordPress] Tips Communityを参照。一応修正してみたけれど動作自体は何か変な感じ。とりあえずアップロードはできるから良いかな。時間ができたら調べてみよう。

ただ、エラーははいていても上述リンク先のコメントの通り、アップロード先の設定のフルURL指定をしておけばアップロード先と参照リンク作成先の不一致については回避できるみたい。ま、どのみち正常な動作ではないわけだけど。

WP2.3: Flexible Uploadで画像のコントロール

WPってアップロードした画像のサムネイルサイズの指定とかが、標準でできないんですね。困ったので他のサイトではどうしているのかな?と調べてみたら見つけたのがFlexible Upload。WPのプラグインって痒いところに手が届くのが多くてよいなあ。

via
Flexible Upload ? Ma Tasse de Thé

適用は上記サイトからパッケージをダウンロードして展開したら、フォルダごと wp-content/plugins に入れてあげるだけ。後はプラグイン動作をオンにすればOKです。設定は管理画面の “設定” に項目が追加されているのでそこで行いましょう。個人的には次の箇所を触りました。

  • Link plugin or target を Lightbox で設定
  • Signature image (for watermark) を空白に設定

アップロード時のコントロールも直感的でやりやすいです。英語での記載もそんなに難しい内容ではないので、変に拒絶しないで使ってみると幸せになれると思いました。