ใส่ Page กับ Post ไว้หน้าเดียวกัน [wordpress]

ใส่ Page กับ Post ไว้หน้าเดียวกัน [wordpress]

ใส่ Page กับ Post ไว้หน้าเดียวกัน

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

ทำ Sticky Post เพิ่มขึ้นมา ซึ่งในส่วน Sticky นี้จะอยู่ข้างบนสุดของ Post เสมอ
แก้โค้ดธีมให้ Query ข้อมูล Post กับ Page ให้อยู่หน้าเดียวกัน
ซึ่งแนวทางการแก้ไขนี้ จะพบว่าแนวทางแรกจะมีปัญหาตรงที่ทั้ง Sticky Post และ Post ที่แสดงออกมาจะอยู่ในรูปแบบเดียวกันเสมอ เช่น มีชื่อผู้โพส มีเวลา หรือหมวดที่โพสอยู่เสมอ ซึ่งอาจจะไม่ตรงกับความต้องการกับลูกค้า จึงทำให้เราต้องทำในแนวทางที่สองแทนดังที่จะเสนอในวันนี้

หลักการในการทำให้เนื้อหาใน Post กับ Page แสดงอยู่หน้าเดียวกันคือ ใช้ฟังก์ชัน query_posts() ของ Wordpress ซึ่งเป็นฟังก์ชันในการ Query ข้อมูลได้ทั้ง Post และ Page รวมถึงสามารถใส่เงื่อนไขในรูปแบบต่างๆ ซึ่งเราจะนำเอาเงื่อนไขของฟังก์ชัน query_posts() มาทำการแสดงผล Page ก่อน แล้วจึงใช้ฟังก์ชัน query_posts() อีกรอบหนึ่งเพื่อแสดงผล Post ออกมาดังในรูปข้างต้น

สำหรับโค้ดตัวอย่างง่ายๆ ที่จะแสดง Page และ Post ในหน้าเดียวกันมีดังนี้


<?php
// Query page id 12
query_posts('page_id=12');
?>

<?php if(have_posts()): the_post(); ?>
<div id="page-content">
       <?php the_content(); ?>
</div>
<?php endif; ?>

<?php
// Query latest posts
query_posts($query_string);
// Activate Read more...
global $more;    // Declare global $more (before the loop).
$more = 0;
?>

<?php if(have_posts()): the_post(); ?>
<div id="post-content">
       <?php the_content('Read more &raquo;'); ?>
</div>
<?php endif; ?>


บรรทัดที่ 2: เป็นการดึงข้อมูล Page ID 12 ขึ้นมาตามเงื่อนไขที่กำหนดในฟังก์ชัน query_posts
บรรทัดที่ 6-10: เป็นการแสดงเนื้อหาใน Page ID 12 ออกมาตามฟังก์ชันที่เราเรียกในบรรทัดที่ 2
บรรทัดที่ 14: เป็นการดึงข้อมูล Post ล่าสุดจำนวน Post ที่เรากำหนดไว้ใน Settings > Reading
บรรทัดที่ 16-17: เป็นการกำหนดไม่ให้แสดงข้อมูลของ Post ทั้งหมดออกมา ให้แสดงเฉพาะ Teaser ก่อน Break เท่านั้น
บรรทัดที่ 20-24: เป็นการแสดงเนื้อหาใน Post ตามฟังก์ชันที่เราได้กำหนดในบรรทัดที่ 14

แนะนำให้ลองอ่านการใช้เงื่อนไขทั้งหมดของ query_posts() เพื่อให้เราสามารถปรับโค้ดการดึงข้อมูลให้ตรงกับความต้องการของเราให้มากที่สุf

แก้ไขจาก query_posts('posts_per_page=5'); เป็น query_posts($query_string); เนื่องจากจะทำให้เราไม่สามารถใช้งาน pagination ของ Wordpress ได้


ID=866,MSG=975


⭐️ เราให้คำแนะนำปรึกษา รักษาผลประโยชน์ให้ลูกค้า ของเรา
⭐️ เราอยู่เคียงข้างลูกค้าของเรา ช่วยเหลือ ดูแลบริการ
⭐️ เรารองรับช่องทางติดต่อมากมาย สะดวก เข้าถึงง่าย
⭐️ เราดำเนินธุรกิจยาวนานกว่า20 ปี คุณจึงมั่นใจได้
⭐️ คุณมีสามารถรับบริการทั้งจากบริษัทประกันเจ้าของสินค้า และ เรา (ตัวกลาง)

ไทย มีราว 80 บริษัทประกันภัย สินค้าที่แตกต่าง ทั้ง เงื่อนไข ราคา เคลม ความมั่นคง นโยบาย ฯลฯ
ขายผ่านตัวกลาง กว่า 500,000 ราย : ตัวแทน นายหน้า ธนาคาร บิ๊กซี โลตัส ค่ายรถยนต์ เฮ้าส์แบรนด์ ของประกันภัย หรือ ซื้อตรงกับบริษัทเจ้าของสินค้า
⭐️ ตัวอย่าง การบริการ กดดูที่ลิงค์นี้

"สิ่งที่ต้องคำนึงอันดับแรกในการซื้อประกัน คือ ตัวกลางประกันภัย ซึ่งจะเป็นที่ปรึกษา ช่วยเหลือ ดูแลเรา ตลอดอายุกรมธรรม์"

โปรดรอ

display:inline-block; position:relative;
โทร.(จ-ศ : 9-16) เว้นวันหยุดฯ , ลูกค้าเรา บริการ 24/7/365 , Friday เวลา 01:50:04pm ซื้อประกัน 085-911-3737
Copyright © 2018 Cymiz.com., All rights reserved.นโยบาย,ข้อตกลงcymiz.com