วิธีสร้างเทมเพลตหน้าเพจศูนย์กลางในเวิร์ดเพรส

วิธีหนึ่งในการเพิ่มการมีส่วนร่วมของผู้เข้าชมคือการให้รางวัลความคิดเห็นของพวกเขาด้วยการแสดงบนเว็บไซต์ของคุณ นอกจากนี้คุณยังสามารถแสดงความคิดเห็นสุดยอดเช่นกันเชื่อมโยงกลับไปยังเว็บไซต์ของพวกเขาในกระบวนการ ที่นี่เราจะสร้างเทมเพลตหน้าเฉพาะเพื่อแสดงความคิดเห็นและความคิดเห็นในที่เดียว.


กล่าวโดยย่อบทช่วยสอนนี้จะสอนวิธี:

  1. สร้างเทมเพลตหน้า,
  2. ใช้แบบสอบถาม SQL ในรหัสของคุณเพื่อดึงความคิดเห็นด้วยพารามิเตอร์ที่แตกต่างกัน,
  3. สร้างส่วนของหน้าที่ผู้ดูแลระบบสามารถดูได้เท่านั้น,
  4. เพิ่มการสนับสนุนสำหรับปลั๊กอินที่เกี่ยวข้องกับความคิดเห็น.

สร้างเทมเพลตหน้า

วิธีที่ง่ายที่สุดในการสร้างเทมเพลตหน้าคือการเปิดไฟล์ page.php ในธีมของคุณซึ่งจะมีลักษณะดังนี้:

<?php get_header (); ?>

<?php if (have_posts ()): ในขณะที่ (have_posts ()): the_post (); ?>

<?php the_title (); ?>

<?php the_content (); ?>

<?php comments_template (); ?>
<?php ในขณะนั้น endif; ?>

<?php get_sidebar (); ?>
<?php get_footer (); ?>

คัดลอกและวางเนื้อหา page.php และเพิ่มลงในส่วนบนสุด:

<?PHP
/ *
ชื่อเทมเพลต: ความคิดเห็นที่ศูนย์กลาง
* /
?>

และบันทึกไว้ ไม่มีกฎเกณฑ์ที่แท้จริงในการตั้งชื่อไฟล์เทมเพลทของหน้า แต่เป็นความคิดที่ดีที่จะใช้คำนำหน้าเพื่อให้สามารถจดจำได้พูดว่า “pt-comment-central.php” เรายังไม่ได้เพิ่มอะไรลงในเทมเพลทของหน้านี้ แต่มันทำงานและเลือกได้ในพื้นที่แดชบอร์ดของหน้าใหม่.

กำลังดึงความคิดเห็น

สำหรับเทมเพลตหน้านี้เราจะแสดงความคิดเห็นสี่ด้านที่แตกต่างกัน:

  • ความเห็นล่าสุด,
  • Trackbacks / Pingbacks ล่าสุด,
  • ผู้แสดงความคิดเห็นยอดนิยม,
  • โพสต์ที่มีความคิดเห็นมากที่สุด,

ก่อนอื่นเราจะทำ ความเห็นล่าสุด:

ความเห็นล่าสุด

    <?PHP
    $ max = 7; // รายการตัวเลขที่จะได้รับ
    ทั่วโลก $ wpdb;
    $ sql = "เลือก c. *, p.post_title จาก $ wpdb->ความคิดเห็น c INNER เข้าร่วม $ wpdb->โพสต์ p ON (c.comment_post_id = p.ID) WHERE comment_approved = ‘1’ และ comment_type ไม่อยู่ใน (‘trackback’, ‘pingback’) เรียงลำดับตาม comment_date DESC LIMIT $ สูงสุด";
    $ results = $ wpdb->get_results ($ SQL);

    $ template = ‘% g % และยังมี บน PT%‘;

    $ echoed = 0;
    foreach (ผลลัพธ์ $ เป็น $ row) {
    $ tags = อาร์เรย์ (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ replacements = array ($ row->comment_title, $ แถว->COMMENT_DATE, get_avatar ($ แถว->comment_author_email, ’32’ ), $ แถว->POST_TITLE, get_permalink ($ แถว->comment_post_ID), $ แถว->comment_author_url, $ แถว->COMMENT_AUTHOR, $ แถว->comment_ID);
    echo ‘

  • ‘ str_replace ($ แท็ก, $ การแทนที่, $ เทมเพลต) ‘
  • ‘;
    $ echoed = 1;
    }
    ถ้า ($ echoed == 0)
    echo ‘

  • ไม่พบความคิดเห็น.
  • ‘;
    ?>

แบบสอบถาม SQL ถามถึงความเห็นที่ได้รับอนุมัติทั้งหมดเรียงตามวันที่ (ล่าสุดมาก่อน) $ max เป็นที่ที่เรากำหนดจำนวนความคิดเห็นที่จะได้รับ 7 ในกรณีของเรา ผลลัพธ์ของรหัสข้างต้นจะเป็นรายการที่ไม่มีการเรียงลำดับความคิดเห็นล่าสุด:

รายการความคิดเห็นล่าสุด

ด้วย CSS เล็กน้อยเราสามารถทำให้ตรงนั้นดูดีขึ้น:

# cc-Recent-comments li {
ความกว้าง: 100%;
ลอย: ซ้าย;
list-style-type: none;
}

# cc- ความคิดเห็นล่าสุด li img {
ลอย: ซ้าย;
margin-top: -5px;
}

รายการความคิดเห็นล่าสุดพร้อม CSS ที่เหมาะสม

$ template กำหนดว่าจะเขียนข้อความจริงอย่างไร นี่คือรูปแบบที่ทำโดย WP Comment Remix, และคุณสามารถไปที่ลิงก์นั้นเพื่อเรียนรู้เพิ่มเติมเกี่ยวกับการปรับแต่งมัน (มองหา ‘โทเค็น’).

ถัดไปคือ Pingbacks ล่าสุด / Trackbacks:

Pingbacks ล่าสุด / Trackbacks

    <?PHP
    $ sql = "เลือก c. *, p.post_title จาก $ wpdb->ความคิดเห็น c INNER เข้าร่วม $ wpdb->โพสต์ p ON (c.comment_post_id = p.ID) WHERE comment_approved = ‘1’ และ comment_type ไม่อยู่ใน (‘trackback’, ‘pingback’) เรียงลำดับตาม comment_date DESC LIMIT $ สูงสุด";
    $ results = $ wpdb->get_results ($ SQL);

    $ template = ‘% g % และยังมี บน PT%‘;

    $ echoed = 0;
    foreach (ผลลัพธ์ $ เป็น $ row) {
    $ tags = อาร์เรย์ (‘% ct’, ‘% cd’, ‘% g’, ‘% pt’, ‘% pu’, ‘% au’, ‘% an’, ‘% cid’);
    $ replacements = array ($ row->comment_title, $ แถว->COMMENT_DATE, get_avatar ($ แถว->comment_author_email, ’32’ ), $ แถว->POST_TITLE, get_permalink ($ แถว->comment_post_ID), $ แถว->comment_author_url, $ แถว->COMMENT_AUTHOR, $ แถว->comment_ID);
    echo ‘

  • ‘ str_replace ($ แท็ก, $ การแทนที่, $ เทมเพลต) ‘
  • ‘;
    $ สะท้อน = 1;
    }
    ถ้า ($ echoed == 0)
    echo ‘

  • ไม่พบความคิดเห็น.
  • ‘;
    ?>

รหัสด้านบนคล้ายกับรหัสที่เรามีสำหรับความคิดเห็นล่าสุดความแตกต่างเพียงอย่างเดียวคือตอนนี้เรากำลังขอความคิดเห็นด้วย “comment_type” ภายใต้ “pingback” / “แทร็กแบ็ก” และเทมเพลตก็แตกต่างกันเล็กน้อยเช่นกัน ผลลัพธ์:

รายการ Pingbacks ล่าสุดและ Trackbacks

นี่คือรหัสสำหรับ ผู้แสดงความคิดเห็นยอดนิยม:

ผู้แสดงความคิดเห็นยอดนิยม

    <?PHP
    $ sql = "SELECT comment_author, comment_author_url, comment_author_email, นับ (comment_ID) เป็น comment_count จาก $ wpdb->ความคิดเห็น WHERE comment_approved = ‘1’ และ comment_type ไม่ได้อยู่ใน (‘trackback’, ‘pingback’) GROUP BY comment_author, comment_author_url, comment_author_url สั่งซื้อโดย comment_count DESC LIMIT $ สูงสุด";
    $ results = $ wpdb->get_results ($ SQL);

    $ template = ‘% g% an (% c ความคิดเห็น) ‘;

    $ echoed = 0;
    foreach (ผลลัพธ์ $ เป็น $ row) {
    $ tags = อาร์เรย์ (‘% g’, ‘% au’, ‘% an’, ‘% c’);
    $ replacements = array (get_avatar ($ แถว->comment_author_email, ’32’ ), $ แถว->comment_author_url, $ แถว->COMMENT_AUTHOR, $ แถว->COMMENT_COUNT);
    echo ‘

  • ‘ str_replace ($ แท็ก, $ การแทนที่, $ เทมเพลต) ‘
  • ‘;
    $ echoed = 1;
    }
    ถ้า ($ echoed == 0)
    echo ‘

  • ไม่พบผู้แสดงความคิดเห็น.
  • ‘;
    ?>

ไม่มีอะไรเหลือเชื่อเกินไปที่นั่น สังเกตเห็นความเย็น get_avatar () ซึ่งจะให้ Gravatar แก่คุณที่มีที่อยู่อีเมลที่คุณระบุ ในกรณีนี้เราดึงภาพอวตารโดยใช้ที่อยู่อีเมลของผู้วิจารณ์ ด้วย CSS ที่คล้ายกับที่เรามีสำหรับความคิดเห็นล่าสุดเราสามารถมีผลลัพธ์นี้:

# cc-top-commenters li {
ความกว้าง: 100%;
ลอย: ซ้าย;
list-style-type: none;
}

# cc-top-commenters li img {
ลอย: ซ้าย;
margin-top: -5px;
}

รายชื่อผู้แสดงความคิดเห็นยอดนิยม

สุดท้ายคือ โพสต์ที่มีความคิดเห็นมากที่สุด:

โพสต์ที่มีความคิดเห็นมากที่สุด

    $ sql = "เลือก p. *, c.comment_count จาก $ wpdb->โพสต์ p INNER JOIN (เลือก comment_post_id, นับ (comment_ID) เป็น comment_count จาก $ wpdb->ความคิดเห็น WHERE comment_approved = กลุ่ม ‘1’ จำแนกตาม comment_post_id) c ON (c.comment_post_id = p.ID) สั่งซื้อโดย c.comment_count DESC LIMIT $ สูงสุด";
    $ results = $ wpdb->get_results ($ SQL);

    $ template = ‘PT% (% c ความคิดเห็น) ‘;

    $ echoed = 0;
    foreach (ผลลัพธ์ $ เป็น $ row) {
    $ tags = อาร์เรย์ (‘% pd’, ‘% pt’, ‘% pu’, ‘% c’);
    $ replacements = array ($ row->post_date, $ แถว->POST_TITLE, get_permalink ($ แถว->ID), $ แถว->COMMENT_COUNT);
    echo ‘

  • ‘ str_replace ($ แท็ก, $ การแทนที่, $ เทมเพลต) ‘
  • ‘;
    $ echoed = 1;
    }
    ถ้า ($ echoed == 0)
    echo ‘

  • ไม่พบผู้แสดงความคิดเห็น.
  • ‘;
    ?>

รายการโพสต์ที่ได้รับความคิดเห็นมากที่สุด

และนั่นคือมัน ต่อไปเราจะเพิ่มความเท่พิเศษโดยเพิ่มบางสิ่งที่ผู้ดูแลระบบเท่านั้นที่สามารถมองเห็นได้.

ข้อมูลสำหรับผู้ดูแลระบบเท่านั้น

ในการแสดงเนื้อหาสำหรับผู้ดูแลระบบเท่านั้นเราสามารถใช้ข้อมูลโค้ดนี้จาก WPCandy:

<?PHP
$ user_ID ทั่วโลก
ถ้า ($ user_ID):
ถ้า (current_user_can (‘level_10’)):
// สิ่งที่ผู้ดูแลระบบเท่านั้นที่นี่.
endif;
endif; ?>

ขณะนี้บนแดชบอร์ดเราจะได้รับความเห็นอย่างรวดเร็วของความคิดเห็นทั้งหมดที่ได้รับอนุมัติรอการตรวจทานและสแปม ให้ทำซ้ำสิ่งนี้สำหรับเทมเพลตหน้าของเราเพื่อให้เข้าถึงได้ง่ายขึ้นและเป็นแบบผู้ดูแลระบบเท่านั้น

<?PHP
$ num_comm = wp_count_comments ();
?>
ความคิดเห็นทั้งหมด: /wp-admin/edit-comments.php “><?php echo $ num_comm->TOTAL_COMMENTS; ?>
อนุมัติ: /wp-admin/edit-comments.php?comment_status=approved “><?php echo $ num_comm->ได้รับการอนุมัติ; ?>
ผู้ดูแล: /wp-admin/edit-comments.php?comment_status=moderated “><?php echo $ num_comm->กลั่นกรอง; ?>
สแปม: /wp-admin/edit-comments.php?comment_status=spam “><?php echo $ num_comm->สแปม ?>

ผู้ดูแลระบบ

wp_count_comments () เป็นฟังก์ชันเนี้ยบที่ส่งคืนอาร์เรย์ของหมายเลขสถิติความคิดเห็นต่างๆ เรากำลังเพิ่มลิงก์ไปยังพื้นที่การจัดการความคิดเห็นที่เกี่ยวข้องด้วย.

เพิ่มประกายบาง

สุดท้ายบอกว่าคุณจะพบปลั๊กอินที่เกี่ยวข้องกับความคิดเห็นที่ยอดเยี่ยมที่คุณต้องการรวมไว้ในเทมเพลตหน้านี้ แทนที่จะเพิ่มรหัสเพิ่มเติมให้เพิ่มการสนับสนุน สำหรับตัวอย่างนี้ฉันจะไปด้วย ประกายไฟของกิจกรรม ปลั๊กอินซึ่งสามารถ“ แสดงกราฟสไตล์ ‘ประกายไฟ” ในแถบด้านข้างของคุณระบุถึงการโพสต์และ / หรือกิจกรรมการแสดงความคิดเห็น ฟังดูดีสำหรับฉัน.

โดยปกติแล้วไฟล์ readme.txt ของปลั๊กอินจะสอนวิธีเพิ่มลงในไฟล์ธีมของคุณ ในกรณีของเรารหัสอาจเป็นดังนี้:

<?PHP
if (function_exists (‘activitysparks’)) {
activitysparks (array ( ‘ชุด’ =>’ตำนาน’, ‘HEIGHT_PX’ =>100 ‘WIDTH_PX’ =>600, ‘ระยะเวลา’ =>30, ‘ticks’ =>24));
}
?>

ปลั๊กอิน ActivitySparks

function_exists () ตรวจสอบว่ามีฟังก์ชั่นเฉพาะหรือไม่ ในกรณีของเราฟังก์ชั่น activitysparks ซึ่งจะสามารถใช้ได้หากมีการอัปโหลดและเปิดใช้งานปลั๊กอิน หากอยู่ที่นั่นเราจะแสดงกราฟ ถ้าไม่เช่นนั้นเทมเพลตหน้าของเราจะไม่แสดงผลใด ๆ (แต่จะยังคงทำงานได้ดีไม่มีข้อผิดพลาด).

ผลและตัวอย่าง

ตัวอย่างของเทมเพลตหน้านี้คือ มีให้ที่นี่. มันใช้รหัสที่คุณเห็นที่นี่ด้วยการปรับเปลี่ยนเล็กน้อยส่วนใหญ่เพื่อให้โครงสร้าง HTML สอดคล้องกับส่วนที่เหลือของเว็บไซต์ รหัสทั้งหมดสำหรับเทมเพลตหน้านั้น มีอยู่ที่ Pastebin.

เครดิตและการอ่านเพิ่มเติม

  • รหัสที่ใช้แสดงความคิดเห็นล่าสุดและความคิดเห็นยอดนิยมต่างๆนั้นนำมาจาก WP Comment Remix เสียบเข้าไป. ลองดูที่รหัสเพื่อเรียนรู้สิ่งต่าง ๆ เกี่ยวกับความคิดเห็นเช่นการยกเว้นความคิดเห็นของผู้ดูแลระบบจากผู้ให้ความเห็นระดับสูงหรือวิธีพิจารณาความคิดเห็นล่าสุดเท่านั้น เทมเพลต $ ที่เราใช้เพื่อจัดรูปแบบผลลัพธ์สามารถเรียนรู้เพิ่มเติมได้จากหน้านั้นเช่นกัน.
  • สร้างเทมเพลตหน้าของคุณเอง บน WordPress Codex.
  • การแสดงเนื้อหาการสอนแบบผู้ดูแลเท่านั้น บน WPCandy.
  • Jeffrey Wilson Administrator
    Sorry! The Author has not filled his profile.
    follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map