解決 WP Postviews 快取無法刷新

3,599 0

很久很久以前(就是剛建站的時候),我就用上了 WP Postviews 外掛,因為那時候開啟了 CDN,所以沒法統計訪問量,於是就寫了「WordPress 開啟 CDN 瀏覽量不增加」這篇文章。

現在我又開啟了 HTML 快取,雖然后台數據能統計訪問量,然而前台頁面還是不會刷新,沒辦法咯,只好到處找教程,後來在月宅醬找到了完美的解決方案,現在分享給小夥伴們。

解決

第一步、進入外掛目錄 /wp-content/plugins/wp-postviews

開啟 postviews-cache.js 檔案,刪除內部所有程式碼,加入以下程式碼並 ctrl+s 儲存。

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;
});

第二步、開啟 wp-postviews.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)

暫無評論,來說兩句吧

發佈評論

© 2026 一紙忘憂. 保留所有權利.

一紙忘憂的個人網站,關於技術探索與日常生活,記錄 Web 開發、後端與 DevOps 實踐,分享軟體工具、數位體驗,以及程式碼之外的見聞與思考。