ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comความรู้ทั่วไปGeneral (ถามคุยวิชาการ IM)ใครเซียน Wordpress ช่วยดูหน่อยครับ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: ใครเซียน Wordpress ช่วยดูหน่อยครับ  (อ่าน 1640 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
maisnook
Newbie
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 69



ดูรายละเอียด
« เมื่อ: 30 เมษายน 2022, 15:48:48 »

พอดีต้องการทำ Postview โดยที่ไม่ใช้ปลั๊กอินครับ โค๊ดจาก indytheme
เลยอยากรู้ว่าโค๊ดตัวนี้เก็ยวติถิไว้ที่ไหน แล้วมีผลทำให้ DB บวม หรือ เว็บช้าลงหรือไม่ครับ


function get_post_views($postid) {
    $count_key = 'post_views_count';
    $count = get_post_meta($postid, $count_key, true);
    if ($count == '') {
        delete_post_meta($postid, $count_key);
        add_post_meta($postid, $count_key, '1');
        return "1";
    }
    return $count;
}

function set_post_views($postid) {
    $count_key = 'post_views_count';
    $count = get_post_meta($postid, $count_key, true);
    if ($count == '') {
        $count = 1;
        delete_post_meta($postid, $count_key);
        add_post_meta($postid, $count_key, '1');
    } else {
        $count++;
        update_post_meta($postid, $count_key, $count);
    }
}

<?php set_post_views(get_the_ID()); ?>

<?php echo get_post_views(get_the_ID()); ?>

https://www.indytheme.com/blog/wordpress-view-counter-article/

 wanwan022 wanwan022
บันทึกการเข้า
romance69
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 169
ออฟไลน์ ออฟไลน์

กระทู้: 2,159



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 01 พฤษภาคม 2022, 04:36:17 »

พอดีต้องการทำ Postview โดยที่ไม่ใช้ปลั๊กอินครับ โค๊ดจาก indytheme
เลยอยากรู้ว่าโค๊ดตัวนี้เก็ยวติถิไว้ที่ไหน แล้วมีผลทำให้ DB บวม หรือ เว็บช้าลงหรือไม่ครับ


function get_post_views($postid) {
    $count_key = 'post_views_count';
    $count = get_post_meta($postid, $count_key, true);
    if ($count == '') {
        delete_post_meta($postid, $count_key);
        add_post_meta($postid, $count_key, '1');
        return "1";
    }
    return $count;
}

function set_post_views($postid) {
    $count_key = 'post_views_count';
    $count = get_post_meta($postid, $count_key, true);
    if ($count == '') {
        $count = 1;
        delete_post_meta($postid, $count_key);
        add_post_meta($postid, $count_key, '1');
    } else {
        $count++;
        update_post_meta($postid, $count_key, $count);
    }
}

<?php set_post_views(get_the_ID()); ?>

<?php echo get_post_views(get_the_ID()); ?>

https://www.indytheme.com/blog/wordpress-view-counter-article/

 wanwan022 wanwan022

เก็บไว้ใน table: wp_postmeta ครับ
ส่วนทำให้ DB บวมไหมจำพวก meta มันมักจะบวมอยู่แล้วครับถ้าเก็บข้อมูลเข้าไปเยอะๆ เช่น 1 โพสต์อาจจะมี 50-100 row(ตัวเลขสมมุติ) ได้ครับ ถ้ามี 10โพสต์ก็คูณต่อเอาครับ
ส่วนถ้าเว็บช้าไหมอยู่ที่การออกแบบครับ ถ้าหากเก็บเข้าแคชมันก็ไม่ค่อยช้าหรอก แต่พวกที่เก็บเป็นสถิติถ้าออกแบบมาไม่ดีมักจะช้าครับ เพราะมีการ Update Row อยู่ตลอดทุกครั้งทีมีการเข้าชมโพสต์

« แก้ไขครั้งสุดท้าย: 01 พฤษภาคม 2022, 04:38:33 โดย romance69 » บันทึกการเข้า
nut_anek
Verified Seller
สมุนแก๊งเสียว
*

พลังน้ำใจ: 149
ออฟไลน์ ออฟไลน์

กระทู้: 980



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 01 พฤษภาคม 2022, 04:42:11 »

แปรผันตามจำนวนของโพสครับ
โพสมากเท่าไหร่ จำนวน row ที่ต้องเก็บ post_views_count มากเท่านั้นครับ

อาจไม่ใช่เรื่องที่ต้องกังวลขนาดนั้นครับ
เพราะถ้าไปลองดู DB จริงๆแล้ว หากปลั๊กอินบางตัวจะเก็บข้อมูลเยอะกว่านี้ครับ
บางทีแค่รีเฟรช row ก็เพิ่มไปเรื่อยๆแล้ว

*อย่างที่เม้นท์บนบอกครับ อาจมีการทำแคชเข้ามาช่วย หากไม่ต้องการให้มัน realtime update ตลอดเวลาครับ
« แก้ไขครั้งสุดท้าย: 01 พฤษภาคม 2022, 22:15:48 โดย nut_anek » บันทึกการเข้า

MR.GOD
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 79



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 01 พฤษภาคม 2022, 05:03:12 »

อ่านเเล้วปวดหัวเเทนครับ5555 Lips Sealed Tongue
บันทึกการเข้า
maisnook
Newbie
*

พลังน้ำใจ: 3
ออฟไลน์ ออฟไลน์

กระทู้: 69



ดูรายละเอียด
« ตอบ #4 เมื่อ: 04 พฤษภาคม 2022, 00:04:14 »

ขอบคุณทุกท่านครับ  wanwan013
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์