วิธีสร้างภาพหมุน "โพสต์ล่าสุด" โดยใช้ Owl Carousel
เผยแพร่แล้ว: 2016-05-19อย่างที่หลายๆ คนทราบ WordPress มาพร้อมกับวิดเจ็ต “โพสต์ล่าสุด” ที่จะดึงชื่อโพสต์ล่าสุดของคุณไปที่แถบด้านข้างและเชื่อมโยงไปยังโพสต์แบบเต็ม ปัญหาคือวิดเจ็ตโพสต์ล่าสุดมีข้อจำกัดอย่างมาก เกิดอะไรขึ้นถ้าคุณต้องการบางอย่างที่หรูหรากว่านี้และมีฟังก์ชันการทำงานที่มากขึ้นอีกเล็กน้อย ตัวอย่างเช่น จะทำอย่างไรถ้าคุณต้องการดึงรูปภาพเด่นและข้อความที่ตัดตอนมา และจากประเภทโพสต์ที่กำหนดเอง มีปลั๊กอินบางตัวที่จะทำสิ่งเหล่านี้ เช่น โพสต์ล่าสุดขั้นสูงหรือวิดเจ็ตโพสต์ล่าสุดแบบขยาย อันที่จริงมีปลั๊กอินที่ยอดเยี่ยมมากมายสำหรับแสดงโพสต์ และบางปลั๊กอินยังช่วยให้คุณสามารถจัดรูปแบบให้เข้ากับธีมของคุณได้
อย่างไรก็ตาม การค้นหาโพสต์นั้นค่อนข้างง่ายจริง ๆ และการไปตามเส้นทาง DIY นั้นรับประกันได้เกือบทุกครั้งว่าคุณจะได้สิ่งที่คุณต้องการอย่างแน่นอน และภาพหมุนของคุณจะได้รับการจัดสไตล์ให้เข้ากับธีมของคุณได้อย่างลงตัว
ในบทความนี้ ฉันจะแสดงวิธีสร้างภาพหมุน "โพสต์ล่าสุด" โดยใช้ไลบรารี JavaScript ของ Owl Carousel ที่เป็นที่นิยม
มาเริ่มกันเลย. หากคุณกำลังตรวจสอบตัวอย่างในไซต์ Owl Carousel สิ่งแรกที่คุณจะสังเกตได้คือตัวอย่างเหล่านี้เขียนขึ้นสำหรับไซต์ HTML ธรรมดา เพื่อให้ Owl Carousel ทำงานใน WordPress คุณจะต้องทำสิ่งต่าง ๆ แตกต่างออกไปเล็กน้อย
ขั้นแรก คุณต้องดาวน์โหลดไฟล์จากเว็บไซต์ Owl Carousel หรือแยกไฟล์จาก Github เมื่อคุณมีไฟล์ในเครื่องแล้ว คุณจะต้องเพิ่มไฟล์ CSS หลักไปยังไดเร็กทอรี /css/ ของธีมของคุณ ไฟล์นั้นคือ owl.carousel.min.css. มีไฟล์ CSS อื่นในนั้นสำหรับธีมและเป็น owl.theme.default.min.css มันไม่ใช่ไฟล์ที่จำเป็น ดังนั้น ฉันจะไม่ใช้มันในบทช่วยสอนนี้
เมื่ออัปโหลดไปยังธีมของคุณแล้ว เส้นทางไปยังไฟล์ควรมีลักษณะดังนี้:
/wp-content/themes/your-theme/css/owl.carousel.min.css
/wp-content/themes/your-theme/css/owl.carousel.min.css
คุณต้องรวมไฟล์ JS . ด้วย
หากธีมลูกของคุณยังไม่มีโฟลเดอร์ /js/ ให้สร้างเลย จากนั้น เพิ่ม owl.carousel.min.js ลงในไดเร็กทอรี /js/ ของธีมเพื่อให้มีลักษณะดังนี้: /wp-content/themes/your-theme/js/owl.carousel.min.js
ถัดไป คุณต้องเพิ่ม jQuery ที่เริ่มต้นและควบคุมวงล้อของคุณ
รหัสนี้จะกำหนดค่าความต้องการเฉพาะของคุณของม้าหมุน หากคุณยังไม่มีไฟล์ JS ที่ควบคุมการกำหนดค่าสคริปต์อื่นๆ ให้สร้างไฟล์ settings.js และใส่ไว้ในไดเร็กทอรี /js/ เดียวกันกับด้านบน ที่ควรมีลักษณะดังนี้: /wp-content/themes/your-theme/js/settings.js
ถัดไป คุณจะต้องเพิ่มโค้ดต่อไปนี้ลงในไฟล์ JavaScript เดียวกันและบันทึก รหัสนี้เป็นสิ่งที่ทำให้เรียกไปยังภาพหมุนและบอกจำนวนรายการที่จะใช้ ไม่ว่าจะวนซ้ำหรือไม่ ใช้การนำทางประเภทใด และวิธีตอบสนองต่อขนาดอุปกรณ์ต่างๆ
(function($) { "use strict"; $(document).ready(function() { $('#blog .owl-carousel').owlCarousel({ loop:true, margin:10, responsiveClass:true, dots: false, nav: true, navText: ['<i class="fa fa-arrow-left fa-2x"></i>','<i class="fa fa-arrow-right fa-2x"></i>'], //Note, if you are not using Font Awesome in your theme, you can change this to Previous & Next responsive:{ 0:{ items:1, //nav:true }, 767:{ items:2, //nav:false }, } }); }) })(jQuery);คุณจะต้องลงทะเบียนและจัดคิวไฟล์ใหม่ที่เพิ่มเข้ามา หากคุณมี
settings.jsหรือcustom.jsอยู่แล้ว ก็ควรจัดคิวไว้ในธีมของคุณแล้ว อย่างไรก็ตาม เนื่องจากคุณกำลังเพิ่มไฟล์ใหม่อย่างน้อยสองไฟล์ (owl.carousel.min.cssและowl.carousel.min.js) คุณจะต้องเปิดfunctions.phpของธีมและเพิ่มลงในธีมของคุณอย่างเหมาะสม ควรมีลักษณะดังนี้:add_action( 'wp_enqueue_scripts', 'yourtheme_scripts'); function yourtheme_scripts(){ wp_enqueue_script('owl.carousel', get_template_directory_uri() . '/js/owl.carousel.min.js', array(), '1.0.0', true ); wp_enqueue_script('settings', get_template_directory_uri() . '/js/settings.js', array(), '1.0.0', true ); } function yourtheme_styles() { wp_register_style('owl-carousel', get_template_directory_uri() .'/css/owl.carousel.css', array(), null, 'all' ); wp_enqueue_style( 'owl-carousel' ); } add_action( 'wp_enqueue_scripts', 'yourtheme_styles' );HTML และ PHP ที่จะแสดงภาพหมุนบนหน้าของคุณ
ส่วนนี้อาจแตกต่างกันไปตามวิธีการตั้งค่าธีมของคุณและตำแหน่งที่คุณต้องการวางภาพหมุน ฉันจะใช้เทมเพลตที่กำหนดเองซึ่งฉันสร้างโดยใช้ Bootstrap ขั้นตอนแรกของคุณที่นี่คือการกำหนดตำแหน่งที่คุณต้องการให้ภาพหมุนปรากฏขึ้น หากคุณต้องการให้มันอยู่ในหน้าแรกของคุณ คุณควรมองหา
home.phpหรือfrontpage.phpชื่อจะแตกต่างกันไปในแต่ละธีม ดังนั้นตรวจสอบให้แน่ใจว่าคุณเข้าใจโครงสร้างของธีมและแก้ไขไฟล์ที่ถูกต้อง เมื่อคุณทราบแล้วว่าต้องแก้ไขไฟล์ใด คุณควรทำสำเนาของไฟล์นั้นในธีมลูกของคุณและตรวจสอบให้แน่ใจว่าไฟล์นั้นอยู่ในโครงสร้างไดเร็กทอรีเดียวกัน ตัวอย่างเช่น หากไฟล์อยู่ในไดเร็กทอรีชื่อtemplatesตรวจสอบให้แน่ใจว่าคุณได้สร้างโฟลเดอร์ชื่อtemplatesในตำแหน่งเดียวกับธีมหลักของคุณ![]()
เมื่อคุณพร้อมที่จะไป คุณสามารถเพิ่มสิ่งต่อไปนี้ในตำแหน่งที่เหมาะสม ในไฟล์ของฉัน ฉันเพิ่มสิ่งนี้ไว้ที่ด้านล่างของ
frontpage.phpเพื่อให้แสดงอยู่เหนือส่วนท้ายของไซต์ของฉัน<!-- ============ BLOG CAROUSEL START ============ --> <section id="blog"> <div class="container"> <div class="row"> <!-- this is the carousel’s header row --> <div class="col-sm-12 text-center"> <h5>Recent posts</h5> <h1>Blog</h1> </div> </div> <div class="row"> <!-- this row starts the carousel--> <div class="col-sm-12"> <div class="owl-carousel"> <!-- query the posts to be displayed --> <?php $loop = new WP_Query(array('post_type' => 'post', 'posts_per_page' => -1, 'orderby'=> 'ASC')); //Note, you can change the post_type to a CPT and set the number to pull and order to display them in here. ?> <?php while ( $loop->have_posts() ) : $loop->the_post(); ?> <div class="recent-post"> <!-- I don’t have any unique css here, just needed to make sure every recent post gets wrapped as a block element. However, you may want to add your own css here... --> <?php <a href="<?php print get_permalink($post->ID) ?>"> <?php echo the_post_thumbnail(); ?></a> <h4><?php print get_the_title(); ?></h4> <?php print get_the_excerpt(); ?><br /> <p><a class="btn btn-default" href="<?php print get_permalink($post->ID) ?>">More</a></p> </div> <!-- End the Recent Post div --> <?php endwhile; ?> </div> <!-- End the Owl Carousel div --> </div> <!-- End the recent posts carousel row --> <div class="row"> <!-- start of new row for the link to the blog --> <div class="col-sm-12 text-center"> <a href="blog.html" class="btn btn-primary">Read All Posts</a> </div> </div> </div> <!-- End blog button row --> </section> <!-- ============ RECENT POSTS CAROUSEL END ============ -->เมื่อเสร็จแล้ว คุณควรมีภาพหมุนที่แสดงรูปภาพเด่น ชื่อเรื่อง ข้อความที่ตัดตอนมา และปุ่ม "เพิ่มเติม" ที่เชื่อมโยงคุณไปยังโพสต์บล็อกฉบับเต็ม
