WordPress Popular Posts のキャッシュ動作がおかしい

2017/10/24WordPress

このブログの人気記事を表示するために WordPress Popular Posts を使っているのだが、どうも動作がおかしい。データベースから人気記事を集計するのに0.1秒ぐらいかかるので、キャッシュするように設定しているが、なぜか毎回データベースを検索している。

パッチ作りました

調べてみると、’}’ の位置を間違える単純ミスでキャッシュが動作していなかったようだ。以下のパッチを開発元に投げておいたので、治ることを期待。この問題はバージョン4.0.0から発生しているようです。
これで、ブログの表示も0.1秒ぐらい早くなったはず……(誤差?)

diff -uNr wordpress-popular-posts.orig/public/class-wordpress-popular-posts-public.php wordpress-popular-posts/public/class-wordpress-popular-posts-public.php
--- wordpress-popular-posts.orig/public/class-wordpress-popular-posts-public.php	2017-10-22 02:33:14.000000000 +0900
+++ wordpress-popular-posts/public/class-wordpress-popular-posts-public.php	2017-10-24 04:03:25.000000000 +0900
@@ -445,6 +445,7 @@
                     case 'year':
                         $time = 60 * 60 * 24 * 365;
                     break;
+		}
 
                     $expiration = $time * $this->admin_options['tools']['cache']['interval']['value'];
 
@@ -464,8 +465,6 @@
                         }
                     }
 
-                }
-
             }
 
             $cached = true;



うち程度のアクセス数のサイトでレスポンスが0.1秒速くなったので、アクセスの多いところはもっと効果があるかも。

追記

パッチが受理されました。そのうちプラグインも更新されると思います。 
追記: バージョン4.0.9で修正されました。
さらに追記: もう一箇所、同じエラーがありました。こちらはバージョン4.0.10で修正されました。

WordPress

Posted by ず@沖縄