วิธีสร้างการค้นหาแบบกำหนดเองใน WordPress โดยไม่ต้องใช้ปลั๊กอิน
เผยแพร่แล้ว: 2022-07-25สงสัยว่าจะสร้างการค้นหาที่กำหนดเองใน WordPress โดยไม่มีปลั๊กอินได้อย่างไร?
การปรับแต่งการค้นหาบนไซต์ของคุณทำให้คุณสามารถเพิ่มจำนวนการดูหน้าเว็บ เพิ่มยอดขาย และช่วยให้ผู้เยี่ยมชมของคุณค้นพบสิ่งที่พวกเขาต้องการได้เร็วยิ่งขึ้น
ในบทความนี้ เราจะพูดถึงวิธีปรับแต่งการค้นหาบนไซต์ของคุณโดยไม่ต้องติดตั้งปลั๊กอิน และเหตุใดคุณจึงควรพิจารณาใช้ปลั๊กอินเพื่อดำเนินการดังกล่าว
นี่คือสารบัญที่จะช่วยให้คุณสำรวจบทความนี้ได้อย่างรวดเร็ว:
- เหตุใด Custom Search จึงมีความสำคัญต่อเว็บไซต์ WordPress ของคุณ
- ข้อเสียของการสร้าง Custom Search โดยไม่ต้องใช้ Plugin
- วิธีที่ง่ายที่สุดในการปรับแต่งการค้นหา WordPress บนเว็บไซต์ของคุณ
- สร้างการค้นหาแบบกำหนดเองใน WordPress โดยไม่ต้องใช้ปลั๊กอิน
เอาล่ะ!
เหตุใด Custom Search จึงมีความสำคัญต่อเว็บไซต์ WordPress ของคุณ
ในการเริ่มต้น มาคุยกันว่าการค้นหาที่กำหนดเองบนไซต์ของคุณสามารถช่วยให้ธุรกิจของคุณเติบโตได้อย่างไร
การปรับแต่งการค้นหาในไซต์ของคุณทำให้คุณสามารถ:
- แสดงผลการค้นหาที่เกี่ยวข้องมากขึ้น จำกัดการค้นหาของคุณเป็นหมวดหมู่เฉพาะเพื่อจำกัดผลการค้นหาของคุณและช่วยให้ผู้เยี่ยมชมพบสิ่งที่พวกเขากำลังมองหาได้เร็วขึ้น
- รับการดูหน้าเว็บและการขาย มากขึ้น เพิ่มความสามารถในการค้นพบเนื้อหาของคุณและเพิ่มรายได้ด้วยการโปรโมตโพสต์หรือผลิตภัณฑ์เฉพาะในผลการค้นหาของคุณ
- สร้างผู้ชมที่ภักดี ผู้เข้าชมที่เคยมีประสบการณ์การค้นหาที่ดีในไซต์ของคุณมักจะกลับมาอีกครั้งเพื่อสำรวจเนื้อหาของคุณมากขึ้น
- กระตุ้นการเข้าชมจากเครื่องมือค้นหา การช่วยให้ผู้เยี่ยมชมพบเนื้อหาที่ถูกต้องเร็วขึ้น แสดงว่าคุณทำให้พวกเขาอยู่ในเว็บไซต์ของคุณนานขึ้น ซึ่งเป็นหนึ่งในปัจจัยหลักในการจัดอันดับของ Google
หลังจากที่เราทราบแล้วว่าการค้นหาแบบกำหนดเองมีประโยชน์อย่างไรต่อธุรกิจของคุณ มาพูดถึงข้อเสียที่คุณคาดหวังได้หากคุณทำโดยไม่มีปลั๊กอิน
ข้อเสียของการสร้าง Custom Search โดยไม่ต้องใช้ Plugin
คุณควรพิจารณาข้อเสียหลักๆ สองสามข้อหากคุณต้องการสร้างการค้นหาแบบกำหนดเองบนไซต์ของคุณโดยไม่ต้องใช้ปลั๊กอิน
1. ต้องใช้ทักษะการเข้ารหัสและความรู้เกี่ยวกับ WordPress อย่างลึกซึ้ง
ข้อเสียเปรียบหลักของการปรับแต่งการค้นหาเว็บไซต์ของคุณด้วยตนเองคือต้องมีประสบการณ์การเขียนโค้ดที่กว้างขวางและมีความรู้อย่างลึกซึ้งเกี่ยวกับ WordPress
สิ่งนี้คือไม่มีเครื่องมือกำหนดค่าการค้นหาเริ่มต้นใน WordPress
ด้วยเหตุนี้ วิธีเดียวในการปรับแต่งการค้นหาของคุณคือการแก้ไขไฟล์หลักของ WordPress และโค้ดของธีมของคุณ
ไม่สะดวก ใช้เวลานาน และไม่เหมาะสำหรับผู้ที่ไม่เชี่ยวชาญด้านเทคโนโลยี
นอกจากนี้ หากคุณทำอะไรผิดพลาด อาจทำให้ไซต์ของคุณล่มได้ ดังนั้น คุณจึงควรระมัดระวังในการปรับแต่งไฟล์ธีมของคุณ
2. คุณจะมีคุณสมบัติน้อยลง
นอกจากนี้ แม้ว่าคุณจะมีทักษะการเขียนโค้ดมากมาย แต่ฟีเจอร์การค้นหาที่กำหนดเองจำนวนหนึ่งที่คุณสามารถเพิ่มได้โดยไม่ต้องใช้ปลั๊กอินก็มีจำกัด
ตัวอย่างเช่น คุณไม่สามารถเพิ่มเครื่องมือค้นหาหลายรายการด้วยชุดกฎที่ไม่ซ้ำกัน ยกเว้นหน้าเว็บหรือหมวดหมู่เฉพาะจากการค้นหา จัดการลำดับผลการค้นหาของคุณ และอื่นๆ อีกมากมาย
ดังนั้น หากคุณจำเป็นต้องควบคุมวิธีการทำงานของการค้นหาบนเว็บไซต์ของคุณอย่างสมบูรณ์ คุณควรพิจารณาใช้ปลั๊กอินการค้นหา WordPress อันทรงพลัง
3. คุณอาจสูญเสียการเปลี่ยนแปลงของคุณ
สุดท้าย เนื่องจากการปรับแต่งการค้นหาโดยไม่ต้องใช้ปลั๊กอินจำเป็นต้องทำการแก้ไขไฟล์ในเว็บไซต์ของคุณ คุณจะสูญเสียการเปลี่ยนแปลงทั้งหมดที่คุณทำเมื่ออัปเดตธีมหรือเวอร์ชัน WordPress
วิธีที่ดีที่สุดในการหลีกเลี่ยงสถานการณ์ดังกล่าวคือการใช้ปลั๊กอินการค้นหาของ WordPress เนื่องจากจะรักษาการตั้งค่าของคุณไม่ว่าคุณจะทำอะไรกับไซต์ของคุณ
ด้วยวิธีนี้ มาดูกันว่าคุณสามารถปรับแต่งการค้นหาบนไซต์ของคุณได้อย่างไรในไม่กี่คลิก โดยไม่ต้องเขียนโค้ด โดยไม่คำนึงถึงทักษะทางเทคนิคของคุณ
วิธีที่ง่ายที่สุดในการปรับแต่งการค้นหา WordPress บนเว็บไซต์ของคุณ
วิธีที่ง่ายที่สุดในการปรับแต่งการค้นหาบนไซต์ WordPress ของคุณคือการใช้ปลั๊กอิน เช่น SearchWP
SearchWP เป็นปลั๊กอินการค้นหา WordPress ที่ได้รับความไว้วางใจจากเจ้าของเว็บไซต์กว่า 30,000 ราย
อินเทอร์เฟซที่เป็นมิตรกับผู้เริ่มต้นใช้งานและคุณลักษณะที่มีประสิทธิภาพช่วยให้คุณสามารถปรับแต่งการค้นหาของคุณได้อย่างเต็มที่ แม้ว่าคุณจะเปิดเว็บไซต์แรกของคุณก็ตาม
ตัวอย่างเช่น ด้วย SearchWP คุณสามารถจัดการตำแหน่งที่ WordPress ควรค้นหารายการที่ตรงกัน จำกัดการค้นหาเฉพาะเนื้อหาบางประเภท เปิดใช้งานการค้นหาด้วยแท็กและฟิลด์ที่กำหนดเอง และอื่นๆ อีกมากมาย
สิ่งที่ดีที่สุดคือคุณสามารถทำสิ่งเหล่านี้ได้เกือบทั้งหมดด้วยการคลิกเพียงไม่กี่ครั้ง
คุณยังสามารถใช้ SearchWP เพื่อ:
- แสดงผลการค้นหาในโหมดสด เปิดใช้งานการแสดงผลการค้นหาแบบสดบนไซต์ของคุณ เพื่อให้ผู้เยี่ยมชมสามารถนำทางไปยังเนื้อหาที่ต้องการได้ทันที
- ติดตามการค้นหาของผู้เยี่ยมชมของคุณ รวบรวมข้อมูลเกี่ยวกับสิ่งที่ผู้เข้าชมค้นหาในไซต์ของคุณ ผลลัพธ์ใดที่คลิกได้มากที่สุด และข้อมูลที่มีค่าอื่นๆ
- เน้นข้อความค้นหาในผลการค้นหา ช่วยให้ผู้เยี่ยมชมของคุณทราบว่าพวกเขาพบเนื้อหาที่ถูกต้องเร็วขึ้นหรือไม่โดยเน้นคำหลักในผลการค้นหา
- ยกเว้นบางหน้าจากการค้นหา ขจัดความยุ่งเหยิงในผลการค้นหาบนไซต์ของคุณโดยการยกเว้นหน้าที่ซ้ำซ้อนและเนื้อหาที่ล้าสมัย
หลังจากที่คุณเรียนรู้ว่าเหตุใด SearchWP จึงเป็นปลั๊กอินการค้นหา WordPress ที่ดีที่สุด เรามาดูกันว่าคุณจะใช้ปลั๊กอินนี้เพื่อปรับแต่งการค้นหาบนไซต์ของคุณได้อย่างไรตามความต้องการของคุณ
ขั้นตอนที่ 1: ติดตั้งและเปิดใช้งาน SearchWP
ขั้นตอนแรกคือไปและคว้าสำเนา SearchWP ของคุณที่นี่
เมื่อเสร็จแล้ว ไปที่แดชบอร์ดบัญชี SearchWP ของคุณและคลิก ดาวน์โหลด
จากนั้นกดปุ่ม Download SearchWP และบันทึกปลั๊กอินลงในคอมพิวเตอร์ของคุณ
หลังจากดาวน์โหลด ให้คัดลอกคีย์ใบอนุญาต SearchWP ของคุณที่มุมล่างซ้าย
ถัดไป คุณจะต้องติดตั้ง SearchWP บนไซต์ของคุณ หากต้องการความช่วยเหลือ คุณสามารถทำตามคำแนะนำโดยละเอียดเกี่ยวกับการติดตั้งปลั๊กอิน WordPress
เมื่อคุณเริ่มใช้งาน SearchWP บนไซต์ของคุณแล้ว ขั้นตอนต่อไปคือการเปิดใช้งานสำเนาของปลั๊กอิน
โดยไปที่แดชบอร์ด WordPress ของคุณและคลิก เปิดใช้งานใบอนุญาต ภายใต้ปุ่ม SearchWP ที่แผงด้านบน
หลังจากนั้น ให้ป้อนรหัสใบอนุญาตของคุณในช่อง ใบอนุญาต แล้วกด เปิดใช้งาน
หลังจากที่คุณเปิดใช้งานสำเนาของ SearchWP คุณก็พร้อมที่จะเริ่มปรับแต่งการค้นหาของคุณแล้ว
ขั้นตอนที่ 2: เริ่มปรับแต่งการค้นหาของคุณ
ในการเริ่มต้น ให้คลิก Engines ในการตั้งค่า SearchWP ของคุณ
คุณสามารถเพิ่ม ลบ และปรับแต่งเครื่องมือค้นหาของคุณบนแท็บนี้ได้
SearchWP จะสร้างเครื่องมือค้นหา เริ่มต้น โดยอัตโนมัติหลังการติดตั้ง
มันเชื่อมโยงกับทุกแบบฟอร์มการค้นหาที่มีอยู่ ดังนั้นด้วยการปรับแต่งแบบฟอร์มนี้ คุณจึงควบคุมวิธีการทำงานของการค้นหาในเว็บไซต์ของคุณได้
ตัวอย่างเช่น คุณสามารถจัดการรายการของแหล่งที่มาการค้นหาของคุณ ทำให้ WordPress พิจารณาคุณลักษณะของเนื้อหาใหม่ จำกัดการค้นหาเฉพาะบางหมวดหมู่ และอื่นๆ
ด้วย SearchWP คุณสามารถเพิ่มเครื่องมือค้นหาได้ไม่จำกัดจำนวนและเชื่อมต่อกับแบบฟอร์มการค้นหาแต่ละรายการในเว็บไซต์ของคุณ
ด้วยเหตุนี้ คุณสามารถสร้างแบบฟอร์มการค้นหาที่กำหนดเองได้อย่างรวดเร็วสำหรับความต้องการทางธุรกิจที่หลากหลาย และวางไว้ที่ใดก็ได้บนไซต์ของคุณ
เนื่องจากในบทช่วยสอนนี้ เราต้องการปรับแต่งวิธีการทำงานของการค้นหาทั่วทั้งไซต์ เราจะแก้ไขเครื่องมือค้นหา เริ่มต้น
อันดับแรก ให้ระบุตำแหน่งที่ WordPress จะค้นหาเนื้อหาโดยกำหนดค่ารายการแหล่งที่มาของการค้นหา
จัดการแหล่งที่มาของการค้นหาของคุณ
ในการเริ่มต้น ให้กดปุ่ม แหล่งที่มาและการตั้งค่า ใต้ส่วนเครื่องมือค้นหา เริ่มต้น
ที่นี่ คุณสามารถจัดการได้ว่าจะให้ WordPress ค้นหาที่ใดที่ตรงกัน โดยค่าเริ่มต้น จะค้นหาในไฟล์ Posts , Pages และ Media
หากต้องการนำแหล่งที่มาของการค้นหาออก ให้ยกเลิกการเลือกช่องข้างๆ ตัวอย่างเช่น ให้จำกัดการค้นหาบนเว็บไซต์ของเราให้เฉพาะโพสต์เท่านั้น
ในการดำเนินการดังกล่าว เราจะยกเลิกการเลือกแหล่งที่มาอื่นๆ ทั้งหมดยกเว้น โพสต์ จากนั้นคลิก เสร็จสิ้น เพื่อบันทึกการเปลี่ยนแปลง
เมื่อเราตั้งค่ารายการแหล่งที่มาของการค้นหาแล้ว เรามาปรับปรุงการค้นหาของเราด้วยการทำให้ WordPress พิจารณาแอตทริบิวต์ของโพสต์และการจัดหมวดหมู่
กำหนดค่าคุณสมบัติการค้นหาของคุณ
ในการเริ่มต้น ให้คลิกปุ่ม เพิ่ม/ลบแอตทริบิวต์ ในส่วนแหล่งที่มาของการค้นหา โพสต์
ในหน้าต่างที่ปรากฏ คุณสามารถระบุแอตทริบิวต์และอนุกรมวิธานที่คุณต้องการให้ WordPress พิจารณาเมื่อทำการค้นหา
ในการทำให้ฟิลด์ที่กำหนดเองสามารถค้นหาได้ ให้คลิกที่ ฟิลด์กำหนดเอง แล้วป้อนชื่อ
นอกจากนี้ยังมีทางลัด Any Meta Key โดยการเพิ่มซึ่งคุณสามารถค้นหาช่องค้นหาที่มีอยู่ทั้งหมดได้ในครั้งเดียว
เมื่อคุณเพิ่มฟิลด์ที่กำหนดเองเสร็จแล้ว เรามาสร้างอนุกรมวิธานของดัชนี WordPress กัน
ใน WordPress การจัดหมวดหมู่เป็นวิธีการจำแนกเนื้อหาและข้อมูล ตัวอย่างเช่น อาจเป็นหมวดหมู่ของโพสต์ แท็ก รูปแบบ หรืออย่างอื่น
หากต้องการค้นหาอนุกรมวิธานใหม่ ให้คลิกฟิลด์ Taxonomies และเลือกอนุกรมวิธานที่ต้องการ
ตัวอย่างเช่น ให้ WordPress พิจารณาแท็กโพสต์เมื่อทำการค้นหา ในการทำเช่นนั้น ให้เลือกตัวเลือก แท็ก จากเมนูแบบเลื่อนลง
คุณยังสามารถทำให้ WordPress ละเว้นแอตทริบิวต์ของโพสต์เริ่มต้น เช่น Title , Content , Slug และ Excerpt ได้โดยยกเลิกการเลือกช่องข้างๆ
หลังจากที่คุณจัดการแอตทริบิวต์แหล่งที่มาของการค้นหา Posts แล้ว ให้กด Done เพื่อบันทึกการเปลี่ยนแปลง
ตอนนี้ มาดูกันว่าคุณจะจำกัดการค้นหาให้แคบลงได้อย่างไรเพื่อให้ผู้เข้าชมได้รับผลลัพธ์ที่เกี่ยวข้องมากขึ้น
จำกัดการค้นหาเฉพาะหมวดหมู่โพสต์เฉพาะ
ในการเริ่มต้น ให้กดปุ่ม แก้ไขกฎ
จากนั้นคลิก เพิ่มกฎ
ที่นี่คุณสามารถเพิ่มกฎตามที่ WordPress จะกรองเนื้อหาในผลการค้นหา
ตัวอย่างเช่น คุณสามารถเพิ่มกฎเพื่อแยกหมวดหมู่เฉพาะออกจากการค้นหาของคุณ หรือในทางกลับกัน ให้จำกัดการค้นหาของคุณไว้ที่หมวดหมู่เหล่านั้น
สมมติว่าเราต้องการจำกัดการค้นหาในไซต์ทดสอบของเราไว้ที่หมวด ข่าวสาร
ในการทำเช่นนั้น ขั้นแรกตรวจสอบให้แน่ใจว่าคุณได้เลือกตัวเลือก แสดงรายการเฉพาะถ้า: และการจัด หมวดหมู่ แบบอนุกรมวิธาน

จากนั้นป้อนชื่อหมวดหมู่ที่คุณต้องการจำกัดการค้นหาในช่องขวาสุด ในกรณีของเรามันจะเป็น ข่าว
หลังจากที่คุณปรับแต่งกฎของเครื่องมือค้นหาของคุณเสร็จแล้ว ให้คลิก เสร็จสิ้น เพื่อบันทึกการเปลี่ยนแปลงของคุณ
เมื่อคุณพอใจกับการปรับแต่งการค้นหาของคุณแล้ว คุณก็พร้อมที่จะไปยังขั้นตอนสุดท้ายและบันทึกเครื่องมือค้นหาของคุณ
บันทึกเครื่องมือค้นหาของคุณ
ในการทำเช่นนั้น ให้กด Save Engines ที่มุมขวาบนของแดชบอร์ด SearchWP ของคุณ
จากนั้นคลิก สร้างดัชนีใหม่ เพื่อให้ WordPress สร้างดัชนีเนื้อหาทั้งหมดของคุณใหม่และใช้การตั้งค่าเครื่องมือค้นหาใหม่
แค่นั้นแหละ. คุณได้ปรับแต่งการค้นหาตามความต้องการของคุณอย่างเต็มที่โดยไม่ต้องเขียนโค้ดแม้แต่บรรทัดเดียว
มาทดสอบการค้นหาใหม่ของคุณเพื่อให้แน่ใจว่าทำงานตามการปรับแต่งของคุณ
ขั้นตอนที่ 3: ทดสอบการค้นหาใหม่ของคุณ
ในการเริ่มต้น ให้ไปที่เว็บไซต์ของคุณและทำการค้นหาทดสอบ ตัวอย่างเช่น เนื่องจากเราทำให้แท็กโพสต์สามารถค้นหาได้ ให้ลองค้นหาโพสต์โดยใช้แท็กเท่านั้น
ในเว็บไซต์ทดสอบของเรา เรามีโพสต์ชื่อ "คุณลักษณะใหม่ของ WordPress" ซึ่งมีแท็ก "อัปเดต"
ลองค้นหาด้วยแท็กนี้และดูว่าเราจะพบโพสต์ของเราหรือไม่
เราพบโพสต์นี้แม้ว่าจะไม่มีคำว่า "อัปเดต" ในชื่อ ข้อความที่ตัดตอนมา หรือเนื้อหาก็ตาม
หมายความว่าขณะนี้เครื่องมือค้นหาของเราจะพิจารณาแท็กโพสต์เมื่อค้นหารายการที่ตรงกัน
ตรวจสอบให้แน่ใจด้วยว่าขณะนี้การค้นหาในเว็บไซต์ของเราจำกัดเฉพาะหมวดหมู่ "ข่าวสาร"
ในการทำเช่นนั้น เราจะค้นหาคำว่า “WordPress” เนื่องจากเรามีบทความที่เกี่ยวข้องกับ WordPress มากมายในหมวดหมู่อื่นๆ
คุณจะเห็นว่ามีเพียงโพสต์จากหมวด ข่าว เท่านั้นที่จะแสดงในผลการค้นหาที่เราได้รับ
หมายความว่ากฎที่เราเพิ่มลงในเครื่องมือค้นหาของเรา ซึ่งบอกว่า WordPress ควรค้นหาในข่าวเท่านั้น ทำงานได้ตามที่ควรจะเป็น
ดังนั้น คุณเพิ่งได้เรียนรู้วิธีที่ง่ายที่สุดในการปรับแต่งการค้นหาของคุณ ตอนนี้เรามาดูกันว่าคุณจะทำอย่างไรโดยไม่ต้องใช้ปลั๊กอิน
สร้างการค้นหาแบบกำหนดเองใน WordPress โดยไม่ต้องใช้ปลั๊กอิน
ในการปรับแต่งการค้นหาของคุณโดยไม่ต้องใช้ปลั๊กอิน คุณจะต้องแก้ไขธีมของคุณ
วิธีที่ปลอดภัยที่สุดคือการสร้างธีมย่อยของธีมปัจจุบันที่คุณใช้บนไซต์ของคุณ
ด้วยวิธีนี้ เมื่อคุณทำการเปลี่ยนแปลงในธีมย่อย ธีมหลักของคุณจะไม่ถูกแตะต้อง ช่วยให้คุณสลับไปใช้ได้อย่างรวดเร็วในกรณีที่เกิดข้อผิดพลาดร้ายแรง
นอกจากนี้ การมีธีมลูกยังช่วยให้คุณอัปเดตธีมหลักได้โดยไม่สูญเสียการเปลี่ยนแปลง สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีสร้างธีมย่อย โปรดดูวิธีสร้างบทช่วยสอนเกี่ยวกับธีมย่อย
หลังจากที่คุณสร้างและเปิดใช้งานธีมย่อย คุณก็พร้อมที่จะเริ่มปรับแต่งการค้นหาของคุณแล้ว
ในการเริ่มต้น ให้ไปที่ Appearance » Theme Files Editor ในแดชบอร์ด WordPress ของคุณ
จากนั้นค้นหาไฟล์ functions.php ที่แผงด้านขวาและคลิกที่ไฟล์
หลังจากนั้น ให้ทำตามคำแนะนำด้านล่าง ขึ้นอยู่กับการปรับแต่งที่คุณต้องการทำเพื่อค้นหาบนไซต์ของคุณ
เปิดใช้งานการค้นหาโพสต์ตามแท็กและหมวดหมู่
หากต้องการให้แท็กโพสต์และหมวดหมู่ค้นหาได้บนไซต์ของคุณโดยไม่ต้องใช้ปลั๊กอิน ให้เพิ่มโค้ดต่อไปนี้ในไฟล์ functions.php ของธีมของคุณ:
/* * ---------------------------------------------------------- * * Search Posts by Tags and Categories * * ---------------------------------------------------------- */ /** * Join the terms, term_relationship, and term_taxonomy tables. * * @global $wpdb * * @param string $join The JOIN clause. * @param object $query The current WP_Query instance. * * @return string The JOIN clause. */ function search_custom_posts_join( $join, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $join; } $join .= " LEFT JOIN ( {$wpdb->term_relationships} INNER JOIN {$wpdb->term_taxonomy} ON {$wpdb->term_taxonomy}.term_taxonomy_id = {$wpdb->term_relationships}.term_taxonomy_id INNER JOIN {$wpdb->terms} ON {$wpdb->terms}.term_id = {$wpdb->term_taxonomy}.term_id ) ON {$wpdb->posts}.ID = {$wpdb->term_relationships}.object_id "; return $join; } add_filter( 'posts_join', 'search_custom_posts_join', 10, 2 ); /** * Modify the WHERE clause to include searches against taxonomies. * * @global $wpdb * * @param string $where The WHERE clause. * @param WP_Query $query The current WP_Query instance. * * @return string The WHERE clause. */ function search_custom_posts_where( $where, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $where; } // Get additional where clause for the user. $user_where = ''; $user_id = get_current_user_id(); $status = array( "'publish'" ); // Include private posts if the user is logged in. if ( $user_id ) { $status[] = "'private'"; $user_where .= " AND {$wpdb->posts}.post_author = {$user_id}"; } $user_where .= " AND {$wpdb->posts}.post_status IN( " . implode( ',', $status ) . " ) "; $where .= " OR ( {$wpdb->term_taxonomy}.taxonomy IN( 'category', 'post_tag' ) AND {$wpdb->terms}.name LIKE '%" . esc_sql( get_query_var( 's' ) ) . "%' {$user_where} )"; return $where; } add_filter( 'posts_where', 'search_custom_posts_where', 10, 2 ); /** * Set the GROUP BY clause to post IDs. * * @global $wpdb * * @param string $groupby The GROUPBY clause. * @param WP_Query $query The current WP_Query instance. * * @return string The GROUPBY clause. */ function search_custom_posts_groupby( $groupby, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $groupby; } return "{$wpdb->posts}.ID"; } add_filter( 'posts_groupby', 'search_custom_posts_groupby', 10, 2 );
เมื่อเสร็จแล้ว ให้กดปุ่ม อัปเดตไฟล์ เพื่อบันทึกการเปลี่ยนแปลงของคุณ
ตอนนี้ผู้เยี่ยมชมเว็บไซต์ของคุณสามารถค้นหาโพสต์ตามแท็กและหมวดหมู่ได้
เปิดใช้งานการค้นหาตามเนื้อหาความคิดเห็นและชื่อผู้แต่ง
หากต้องการให้ความคิดเห็นและชื่อผู้เขียนสามารถค้นหาได้บนไซต์ของคุณโดยไม่ต้องใช้ปลั๊กอิน ให้เพิ่มโค้ดต่อไปนี้ในไฟล์ functions.php ของธีมของคุณ:
/* * ---------------------------------------------------------- * * Search by Comment Content and Author Names * * ---------------------------------------------------------- */ /** * Joins the comments and posts tables. * * @global $wpdb * * @param string $join The JOIN clause. * @param object $query The current WP_Query instance. * * @return string The JOIN clause. */ function search_custom_comments_posts_join( $join, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $join; } $join .= ' LEFT JOIN ' . $wpdb->comments . ' ON ' . $wpdb->posts . '..comment_post_ID '; return $join; } add_filter( 'posts_join', 'search_custom_comments_posts_join', 10, 2 ); /** * Modify the WHERE clause to include searches against comments. * * @global $wpdb * * @param string $where The WHERE clause. * @param WP_Query $query The current WP_Query instance. * * @return string The WHERE clause. */ function search_custom_comments_posts_where( $where, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $where; } $where = preg_replace( "/\(\s*" . $wpdb->posts . ".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/", "(" . $wpdb->posts . ".post_title LIKE $1) OR (" . $wpdb->comments . ".comment_author LIKE $1) OR (" . $wpdb->comments . ".comment_content LIKE $1)", $where ); return $where; } add_filter( 'posts_where', 'search_custom_comments_posts_where', 10, 2 ); /** * Prevent search results duplicates. * * @param string $distinct The DISTINCT clause. * @param WP_Query $query The current WP_Query instance. * * @return string The DISTINCT clause. */ function search_custom_comments_posts_distinct( $distinct, $query ) { if ( ! is_main_query() || ! is_search() ) { return $distinct; } return 'DISTINCT'; } add_filter( 'posts_distinct', 'search_custom_comments_posts_distinct', 10, 2 );
เมื่อเสร็จแล้ว ให้คลิกปุ่ม อัปเดตไฟล์ ที่ด้านล่างของตัวแก้ไขเพื่อบันทึกการเปลี่ยนแปลงของคุณ
ตอนนี้ผู้เยี่ยมชมของคุณสามารถค้นหาตามเนื้อหาความคิดเห็นและชื่อผู้แต่งได้
เปิดใช้งานการค้นหาตามฟิลด์ที่กำหนดเองของโพสต์
หากต้องการให้ฟิลด์ที่กำหนดเองสามารถค้นหาได้บนไซต์ของคุณโดยไม่ต้องใช้ปลั๊กอิน ให้เพิ่มโค้ดต่อไปนี้ในไฟล์ functions.php ของธีมของคุณ:
/* * ---------------------------------------------------------- * * Search by Post Custom Fields * * ---------------------------------------------------------- */ /** * Joins the postmeta and posts tables. * * @global $wpdb * * @param string $join The JOIN clause. * @param object $query The current WP_Query instance. * * @return string The JOIN clause. */ function search_custom_meta_posts_join( $join, $query ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $join; } $join .=' LEFT JOIN '.$wpdb->postmeta. ' ON '. $wpdb->posts . '..post_id '; return $join; } add_filter( 'posts_join', 'search_custom_meta_posts_join', 10, 2 ); /** * Modify the WHERE clause to include searches against postmeta. * * @global $wpdb * * @param string $where The WHERE clause. * @param WP_Query $query The current WP_Query instance. * * @return string The WHERE clause. */ function search_custom_meta_posts_where( $where ) { global $wpdb; if ( ! is_main_query() || ! is_search() ) { return $where; } $where = preg_replace( "/\(\s*" . $wpdb->posts . ".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/", "(" . $wpdb->posts . ".post_title LIKE $1) OR (" . $wpdb->postmeta . ".meta_value LIKE $1)", $where ); return $where; } add_filter( 'posts_where', 'search_custom_meta_posts_where', 10, 2 ); /** * Prevent search results duplicates. * * @param string $distinct The DISTINCT clause. * @param WP_Query $query The current WP_Query instance. * * @return string The DISTINCT clause. */ function search_custom_meta_posts_distinct( $distinct, $query ) { if ( ! is_main_query() || ! is_search() ) { return $distinct; } return 'DISTINCT'; } add_filter( 'posts_distinct', 'search_custom_meta_posts_distinct', 10, 2 );
เมื่อเสร็จแล้ว ให้กดปุ่ม อัปเดตไฟล์ ที่ด้านล่างของตัวแก้ไขเพื่อบันทึกการเปลี่ยนแปลงของคุณ
ขณะนี้ผู้เยี่ยมชมของคุณสามารถค้นหาโพสต์ตามฟิลด์ที่กำหนดเองได้
ในบทความนี้ คุณได้เรียนรู้วิธีสร้างการค้นหาที่กำหนดเองบนไซต์ของคุณโดยไม่ต้องใช้ปลั๊กอิน และเหตุใดการใช้ปลั๊กอินสำหรับเป้าหมายนี้จึงสะดวกกว่ามาก
เราหวังว่าข้อมูลนี้จะช่วยคุณในการตัดสินใจและเลือกวิธีที่คุณต้องการใช้บนไซต์ของคุณ
พร้อมที่จะปรับแต่งการค้นหาในเว็บไซต์ของคุณด้วยการคลิกเพียงไม่กี่ครั้งแล้วหรือยัง คุณสามารถเริ่มต้นใช้งาน SearchWP ได้ที่นี่
กำลังมองหาวิธีสร้างธีมที่กำหนดเองสำหรับไซต์ของคุณหรือไม่? ดูบทแนะนำทีละขั้นตอนของเราเกี่ยวกับวิธีสร้างธีม WordPress ที่กำหนดเอง
ต้องการปรับแต่งหน้าผลการค้นหาของคุณหรือไม่? ทำตามวิธีการปรับแต่งคู่มือหน้าผลการค้นหา WordPress ของคุณ