Postviewsプラグインのアクセス数キャッシュが更新されない問題を解決する
3,619 0
ずっと昔(サイトを開設したばかりの頃)、私はすでにWP Postviewsプラグインを使っていました。当時はCDNを有効にしていたためアクセス数を集計できず、そこで「WordPressでCDNを有効にするとアクセス数が増えない」という記事を書きました。
現在はHTMLキャッシュも有効にしています。管理画面ではアクセス数を集計できるものの、フロントエンドのページはやはり更新されません。仕方がないのであちこちでチュートリアルを探していたところ、月宅ちゃんのサイトで完璧な解決策を見つけました。今回はそれを皆さんに共有します。
解決方法
ステップ1、プラグインディレクトリ /wp-content/plugins/wp-postviews に移動し、
postviews-cache.js ファイルを開いて、中のコードをすべて削除し、以下のコードを追加して Ctrl+S で保存します。
JavaScript JavaScript
jQuery.ajax({
type: "GET",
url: viewsCacheL10n.admin_ajax_url,
data: "postviews_id=" + viewsCacheL10n.post_id + "&action=postviews",
cache: !1
});
jQuery(document).ready(function() {
var ajax_data = {
action: "show_postview",
bigfa_view: viewsCacheL10n.post_id
};
$.post(viewsCacheL10n.admin_ajax_url, ajax_data,
function(data) {
$('.show-view').html(data);
});
return false;
});
ステップ2、wp-postviews.php ファイルを開き、最後に以下のコードを追加します。
PHP PHP
add_action('wp_ajax_nopriv_show_postview', 'show_postview');
add_action('wp_ajax_show_postview', 'show_postview');
function show_postview(){
$views_options = get_option('views_options');
$ID = $_POST["bigfa_view"];
$custom_fields = get_post_custom($ID);
$my_custom_field = $custom_fields['views'];
foreach ( $my_custom_field as $key => $value ) {
echo str_replace('%VIEW_COUNT%', number_format_i18n($value), $views_options['template']);
}
die;
}
イケメンの人はすでに完璧に解決していますが、そうでない人はまだ必死にもがいています。わははは!
コメント
(0)まだコメントはありません