chevron_left

メインカテゴリーを選択しなおす

cancel
30歳で脱サラした人間が送るなんでもありのブログ http://www.tamura.tottori.jp

生活、流行りの小ネタ、人生、IT等、知っておくとちょっと役立つ情報をお届けします♩

生活、流行りの小ネタ、人生、IT等、知っておくとちょっと役立つ情報をお届けします♩人気の記事はこちら(=゚ω゚)ノ→http://www.tamura.tottori.jp/ranking/

たむらくん
フォロー
住所
大阪府
出身
鳥取市
ブログ村参加

2014/07/08

arrow_drop_down
  • 【キャッシュ問題】tablepress内でショートコードで出力した内容が更新されない問題を解決

    tablepressプラグインで作成した表の中でショートコードで動的に取得した内容を表示したい場面があった。 で、以下のような問題が発生した。 動的に取得した値ではなく、前表示していた値(キャッシュの値)が表示される しばらくたったら、更新されている ログインユーザー時の場合は更新されている ログインユーザーでない場合に更新されていない 条件が複雑すぎて、何が原因かしらべていたら、下記の記事にたどりついた。 Tablepressのキャッシュ問題 モノグサにお灸 これの原因は、ようは、テーブルプレスが、キャッシュを保持しておいて出力するとのこと。で、上記の解決方法として、tablepressの表を再更新する必要があるとのことだった。先人さん、いつも情報ありがとうございます。 ソースコードを解析して、今回、もう少し、スマートに解決する方法を見つけたので、ご紹介。 解決方法 ショートコードのオプションに cache_table_output=false を指定する 使用例は以下 [crayon-62e3d2389a210000159388/] これで、キャッシュを使用せずに、常に最新の情報を取得して表示してくれる。 解説 tablepress\controllers\controller-frontend.php内で、以下の処理をおこなっている。 [crayon-62e3d2389a219714965170/] cache_table_outputが指定されていて、ログインユーザーでない場合は、24時間経過するまでは、キャッシュを使用するという処理になっている。 で、cache_table_outputは、何かというと、tableをショートコードで作成するときに指定できるオプションなのである。 こいつが、指定していない場合は、デフォルトでtrueになっているのだ。(ここまでの条件をすべてまとめると、最初に列挙した4つの条件にすべて当てはまる) tablepress\classes\class-render.php内。 [crayon-62e3d2389a21b467450592/]

arrow_drop_down

ブログリーダー」を活用して、たむらくんさんをフォローしませんか?

ハンドル名
たむらくんさん
ブログタイトル
30歳で脱サラした人間が送るなんでもありのブログ
フォロー
30歳で脱サラした人間が送るなんでもありのブログ

にほんブログ村 カテゴリー一覧

商用