WordPress, Infinite Scrollプラグインがエラーを吐く

WordPress 3.6, Infinite Scroll 2.6.2。

Infinite Scroll 無限スクロールのプラグイン。
Jetpackとどっち使おうかと思って、他の機能いらないしと選んだプラグイン。

でも、エラー吐くんだよなぁー。

まず、debug をオフにした時。
array index のチェックが少し足りない様子。
/includes/options.php
line.77

$options["debug"] = (bool)$options["debug"];

以下の様に修正した。

if( isset( $options["debug"] ) )
    $options["debug"] = (bool)$options["debug"];
else
    $options["debug"] = false;

エラーは出なくなったけど…

機能面でもう少し修正が必要。
また次回。

Jetpack入れたからwp_get_attachment_image_srcの戻り値が変わったの?

Yoko theme を使用しheaderに画像を出力していました。
いつの間にかアップロードした画像が出なくなったなーと思って調べてみたら、画像の出力元が i0.wp.com. i1.wp.com… に変わってました。
あ〜、Jetpackのどっかのアップデートで「wp.comから画像出力する?」みたいなこと聞かれたかも、かもかも。
CDNみたくしてくれるのねん、とOKしたなー。

う〜ん、でなんでheader画像はデフォルトのヤツだけなの???

if ( is_singular() &&
	current_theme_supports( 'post-thumbnails' ) &&
	has_post_thumbnail( $post->ID ) &&
	( $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
	$image[1] >= HEADER_IMAGE_WIDTH
 ) :
 echo get_the_post_thumbnail( $post->ID , array(1102,350), array('class' => 'headerimage'));

$image = wp_get_attachment_image_src で取得した $image[1] に以前は画像幅(数値)が入ってて $image[1] >= HEADER_IMAGE_WIDTH 定数指定のサイズより大きかったらアップロードした画像を使う、ことになってたらしいす。

Jetpackを有効にすると $image[1] は常に false になります。
これじゃ出力できっこありません。

wp_get_attachment_image_srcJetpack が何か細工をしてるようです。

探してみると class.photon.php, class Jetpack_Photon に記述を見つけました。
でもまだどうしたら良いのか見当もつきません。

Forumの“wp_get_attachment_image_src changed?”というトピックを見ると、やはり原因はJetpackでfilterを追加すると良いらしい。
回答者はJetpack作者なので間違いは無いと思うけど書かれてる方法では解決できません。

無い知恵しぼって考えた。

$jp_photon = Jetpack_Photon::instance();
remove_filter( 'image_downsize', array( $jp_photon, 'filter_image_downsize' ) );
 
if ( is_singular() &&
// 省略
 
endif;
 
add_filter( 'image_downsize', array( $jp_photon, 'filter_image_downsize' ), 10, 3 );

不細工だけど判定前にfilterをリムーブして判定後に元に戻しました。
header画像はwp.comからでは無くなったけど、しょうがないかなぁ。

もっとステキな方法があるはず。
教えて欲しいなー

Jetpack, Infinite Scroll 始めました

イケテルWordPress Plugin Jetpackの新機能Infinite Scrollを有効化しました。
これでサイトは簡単に無限スクロール可能になりました。

対応テーマでないと使用できない様子。
デフォルトTwenty Eleven を使用しています。

こりゃ便利。
必要なJavaScriptも勝手に設定してくれる優れものです。

で、思いました。
カスタムしたテーマだとこういう新機能を導入するのが難しいこと。

テーマファイルをぐちゃぐちゃ書き直した方が簡単にカスタマイズ可能だけど、今回のような新機能の恩恵を受けたいと考えると、テーマは汎用的に作るあるいはデフォルトにしておいてカスタマイズはプラグインやウイジェットを使った方が良さげかなぁ〜なんて。

フックやフィルターとかとか、ものにしないといけなくなるけど…
テンプレートタグ覚えるより敷居たかいもんなぁー

Memo, WordPress投稿時にTwitterへ自動投稿するためのTwitter Application設定

WordPress投稿した時にTwitterへ自動投稿。

WP to Twitter プラグインをインストール。
Plugin Site: http://www.joedolson.com/articles/wp-to-twitter/
Download: http://wordpress.org/extend/plugins/wp-to-twitter/

Twitterでアプリーケーション登録
https://dev.twitter.com/apps

Twitterアカウントでログイン

OAuth settings
Access LevelがRead Onlyになっていたら[Settings]で変更。

Your access token
Read writeになったことを確認後[access token]を取得

Consumer key, Consumer secret, Callback URL, Access token, Access token secretを設定

プラグインの「機能チェック」をクリックして確認。

WP to Twitter は Twitter への投稿に成功しました

となればOK。

WordPressプラグインJetpackスゲ!

WordPressに新しく登場したAutomattic謹製Jetpackプラグインがスゴイ件。

http://jetpack.me/

詳しくはWordPress.com 日本語ブログ「インストール型 WordPress を Jetpack でパワーアップ」をご覧下さい。

良くわかんないよー、な人はまずインストールしちゃいましょう。
プラグイン > 新規追加
検索:jetpack
でインストールできるはずです。

次にWordPress.comのアカウントIDとパスワード入力を求められるので入力しましょう。
Akismet使うのに多分アカウントは持ってるはずです。
[Authorize]してJetpackの各機能を使うことができます。

Jetpackメニュー画面で各項目の「さらに詳しく」をクリックするとどんなことができるか日本語で説明が出てきます。

Jetpackの名に恥じない色々ま機能がパッケージされた強力なプラグインです。

wp-syntax, preタグ内の文字をFirefoxでも折返して表示したい

WordPress のプラグイン wp-syntax を使ってコード表記を行っています。
対応言語も多く助かっているのですが、1つだけ気になっていたことがあります。

Firefox だとコードが折返し表示されずに横スクロールバーが出てしまうことです。
Safariだと折り返して表示されています。

コードは pre タグ内に書くのでFirefoxの挙動は正常だとも思うのですが・・・

wp-syntax 付属の wp-syntax.css をカスタマイズすることにします。

プラグインフォルダのファイルを編集してしまうとアップデートの時に面倒くさいのでどうしようかとソースを見てると、テンプレートフォルダに同名の wp-syntax.css があればコチラが優先になるようになっていました。
それで、ダウンロードしたプラグインファイルから wp-syntax.css をテンプレートフォルダへアップロードしカスタマイズを開始しました。

変更した箇所は .wp_syntax pre へ以下の設定を末尾に2行追加しました。

white-space: -moz-pre-wrap;
white-space: pre-wrap;

これで良さそうだ。

【WordPress Plugin】cformsII が返ってきた

cformsIIがプラグインディレクトリに戻ってきています。
http://wordpress.org/extend/plugins/cforms/

フォームデータをDBへ保存する機能を持ったフォーム生成プラグイン。
以前は日本語環境では難ありで、そのまま使うとSubjectや送信者名が文字化けする確率が高く、使用するにはプラグインファイルをいくつか書き換える必要がありました。

cforms Ⅱ が日本語に対応

現在ではカスタマイズなしに使えます。

プラグインディレクトリから消えていたのはライセンスの問題らしいとネットのウワサで聞きましたが、復帰してくれて喜ばしい限りです。

ただ、良くわからないのがプラグインディレクトリにホストされているバージョンは10.1なのですが、Plugin Homepage のバージョンは11.1と異なっていることです。

cformsが多機能ということはよーーく分かっているのですが、ちょっと気になることが・・・
cformsはWordPressが用意している関数群をあまり使わず、オリジナル関数を使う傾向が強いこと。
wp_mail使っていれば文字化けの問題も起きなかったのでは、と思わずにいられません。

XREAにWordPressプラグインWP-Cacheをいれてみた

XREAのPHPはセーフモードで動作している。
そのためファイルやディレクトリ回りの操作に制限がかかってる。

WordPress勉強会で@naokomcから勧められたWP-Cacheも少しサーバーをいじってあげないと動作できない。

設定手順をメモっとく。

1.wp-contentを書込み可能パーミッションへ変更 -> 757
これでwp-cacheのwp-cache-phase1.phpのシンボリックリンクがwp-contentadvanced-cache.phpとして書き込まれる。

2.wp-configへコード追加

define('WP_CACHE', true);

3.wp-contentcacheフォルダを作成しパーミッションを707へ変更

wp-contentのパーミッションを元に戻しておかないとセキュリティホールになる危険性があります。

WordPressをWPtouchでiPhone向けにカスタマイズ

WPtouch スクリーンショットWordPress プラグイン WPtouchをインストールしてiPhone向けにカスタマイズしました。

iPhone の Safari はフルブラウザなのでわざわざカスタマイズする必要があるか、は色々意見はあるかもしれませんが・・・
狭い画面表示を有効に使うための手段の一つと言えるかもしれません。

WordPress画面をまるでネイティブアプリののような表示に変えてしまいます。
日本語はされていませんが、表示の問題は無さそうです。

好みの問題もありますが、デフォルトのテキスト表示がjustifyされているのでleftに変えました。

ページの表示は “Logo Icon // Menu Items & Page Icons”セクションで表示したいページとアイコンを選択する必要があります。

カスタマイズはプラグインのthemesに フォルダ / ファイル を追加することで可能なようです。
添付の default theme でも充分な感じですけど。

アーカイブ系画面ではタイトル横の三角形をクリックすると本文要約が表示されます。
これもちゃんと対応できていてイイ感じです。

WP勉強会@AIP 2009-09-12

Contact Form 7の作者、三好さん講師の WordPress 勉強会がAIPで開催されました。

テーマ・フレームワークの話は興味深かった。
sandbox
Hybrid
を教えてもらった。

まだ、どう使いこなしたらいいのか見当がつかない。

雑談中に参加者の方から教えていただいたプラグイン Category Order はカテゴリーの並び順を任意に変えることができるスグレものでした。
これは超便利!

次回はプラグイン作成の1回目、興味津々だけど行けそうにない。 🙁

ず〜〜っと下書きのまま放置していました。
時期を逸してしまったけどせっかくなので公開します。

Contact Form 7WordPress Plugin Directory でも常に Most Popular 上位にはいってる人気プラグインです。
その作者から直接お話を聞く機会があるなんてなんてステキなんでしょう。