web-dev-qa-db-ja.com

合計キャッシュ数がw3のビュー数を書き込む

私は投稿が何回閲覧されたかを数える機能を開発しようとしていますが、私はw3 total cacheを介してページキャッシング(将来的にはAPC可能なmemcache)も使用しています。

"view count"の値は管理者/編集者以外には表示されず、管理セクションで投稿を編集するときにのみ表示されます。

だから私の質問は私がすべての投稿に対して次のようにするかどうかです

update_post_meta($postID, 'view_count', $count++);

行きますか

  • キャッシュを使用してイムを考慮した仕事?

  • それがうまくいけば、それは要求をかなり遅くするでしょうか?

  • もしそれがリクエストを遅くしたのであれば、MYSQLI_ASYNCを介して非同期のMySQL更新を行うことはこれをバックアップするのをスピードアップするでしょうか?

ありがとう

3
Jase Whatson

ページキャッシュが有効になっている場合、これは機能しません。代わりにこの関数を呼び出すajaxリクエストを作成することをお勧めします。例えば.

add_action( "wp_ajax_nopriv_view_count", 'view_count' );
add_action( "wp_ajax_view_count",        'view_count' );
function view_count(){
    update_post_meta($_GET['id'], 'view_count', $count++);
}

(それから、JSでajax呼び出しを作成して、ページIDをこのカウント関数に渡します)

Ajaxはページキャッシュの影響を受けません。各ページロードでこの追加リクエストにわずかなオーバーヘッドがありますが、それはあなたがあなた自身のページビューカウントをしたいならばあなたが支払う価格です。これを回避する唯一の方法は、Google Analyticsのようなサードパーティ製のツールを使用することです。

2
Peter Smith