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;

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

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

WordPress, admin barがじゃま!

WordPressにログインした状態でサイト見ると表示されるadmin bar。
便利かもしれないけど、じゃまな時もある。
管理画面にON/OFFする機能もないし。
ありました。
ユーザーの「サイトを見るときにツールバーを表示する」のチェックを外すのね。
しょうへい君に教えてもらいました。

とお困りの時は

add_filter('show_admin_bar', '__return_false');

functions.phpに書くと吉。

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も勝手に設定してくれる優れものです。

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

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

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

MAMP PRO, MySQLをアップグレード

時々起動に失敗する我が家のMAMP PROのMySQL。
停止して開始にしたら起動したりするのでそのまま使ってたけど、気持ち悪いのでログを見ることにしました。

出てる出てる。
[ERROR]の文字がたくさん…

please run mysql_upgrade to create it
らしいのでアップグレードすることに。

MAMP PROはエライ。
ちゃーんとメニューを用意してくれていました。

ツール -> MYSQL データベースをアップグレード

データーベースをバックアップしましょうねの警告つきです。
DBをさわる時は手を抜かずにダンプしておきましょう。

[ERROR] Missing system table mysql.proxies_priv; please run mysql_upgrade to create it
[ERROR] Native table 'performance_schema'.'events_waits_current' has the wrong structure
[ERROR] Native table 'performance_schema'.'events_waits_history' has the wrong structure
[ERROR] Native table 'performance_schema'.'events_waits_history_long' has the wrong structure
[ERROR] Native table 'performance_schema'.'setup_consumers' has the wrong structure
[ERROR] Native table 'performance_schema'.'setup_instruments' has the wrong structure
[ERROR] Native table 'performance_schema'.'setup_timers' has the wrong structure
[ERROR] Native table 'performance_schema'.'performance_timers' has the wrong structure
[ERROR] Native table 'performance_schema'.'threads' has the wrong structure
[ERROR] Native table 'performance_schema'.'events_waits_summary_by_thread_by_event_name' has the wrong structure
[ERROR] Native table 'performance_schema'.'events_waits_summary_by_instance' has the wrong structure
[ERROR] Native table 'performance_schema'.'events_waits_summary_global_by_event_name' has the wrong structure
[ERROR] Native table 'performance_schema'.'file_summary_by_event_name' has the wrong structure
[ERROR] Native table 'performance_schema'.'file_summary_by_instance' has the wrong structure
[ERROR] Native table 'performance_schema'.'mutex_instances' has the wrong structure
[ERROR] Native table 'performance_schema'.'rwlock_instances' has the wrong structure
[ERROR] Native table 'performance_schema'.'cond_instances' has the wrong structure
[ERROR] Native table 'performance_schema'.'file_instances' has the wrong structure

WordPressでRSSを表示する、MagpieRSSとSimplePie

WordPressでRSSを表示させるのはウィジェットを使うのが簡単です。
URLを指定するだけですみます。

表示をカスタマイズしたい時は自力でなんとかしないといけません。
でも心配はいりません、いくつかのRSS取得の仕組みがWordPressにはあります。

MagpieRSS

歴史と伝統を感じるMagpieRSS、RSSの取得だったらMagpieだよね。
http://magpierss.sourceforge.net/
MagpieRSSはWordPressに添付されています。
“WordPressでRSSを表示する、MagpieRSSとSimplePie”の続きを読む