วิธีสร้างการค้นหาแบบกำหนดเองใน 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 logo

SearchWP เป็นปลั๊กอินการค้นหา WordPress ที่ได้รับความไว้วางใจจากเจ้าของเว็บไซต์กว่า 30,000 ราย

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

ตัวอย่างเช่น ด้วย SearchWP คุณสามารถจัดการตำแหน่งที่ WordPress ควรค้นหารายการที่ตรงกัน จำกัดการค้นหาเฉพาะเนื้อหาบางประเภท เปิดใช้งานการค้นหาด้วยแท็กและฟิลด์ที่กำหนดเอง และอื่นๆ อีกมากมาย

สิ่งที่ดีที่สุดคือคุณสามารถทำสิ่งเหล่านี้ได้เกือบทั้งหมดด้วยการคลิกเพียงไม่กี่ครั้ง

คุณยังสามารถใช้ SearchWP เพื่อ:

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

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

ขั้นตอนที่ 1: ติดตั้งและเปิดใช้งาน SearchWP

ขั้นตอนแรกคือไปและคว้าสำเนา SearchWP ของคุณที่นี่

เมื่อเสร็จแล้ว ไปที่แดชบอร์ดบัญชี SearchWP ของคุณและคลิก ดาวน์โหลด

go to the Downloads tab

จากนั้นกดปุ่ม Download SearchWP และบันทึกปลั๊กอินลงในคอมพิวเตอร์ของคุณ

click Download SearchWP

หลังจากดาวน์โหลด ให้คัดลอกคีย์ใบอนุญาต SearchWP ของคุณที่มุมล่างซ้าย

copy your license key

ถัดไป คุณจะต้องติดตั้ง SearchWP บนไซต์ของคุณ หากต้องการความช่วยเหลือ คุณสามารถทำตามคำแนะนำโดยละเอียดเกี่ยวกับการติดตั้งปลั๊กอิน WordPress

เมื่อคุณเริ่มใช้งาน SearchWP บนไซต์ของคุณแล้ว ขั้นตอนต่อไปคือการเปิดใช้งานสำเนาของปลั๊กอิน

โดยไปที่แดชบอร์ด WordPress ของคุณและคลิก เปิดใช้งานใบอนุญาต ภายใต้ปุ่ม SearchWP ที่แผงด้านบน

click Activate License

หลังจากนั้น ให้ป้อนรหัสใบอนุญาตของคุณในช่อง ใบอนุญาต แล้วกด เปิดใช้งาน

press Activate

หลังจากที่คุณเปิดใช้งานสำเนาของ SearchWP คุณก็พร้อมที่จะเริ่มปรับแต่งการค้นหาของคุณแล้ว

ขั้นตอนที่ 2: เริ่มปรับแต่งการค้นหาของคุณ

ในการเริ่มต้น ให้คลิก Engines ในการตั้งค่า SearchWP ของคุณ

go to Engines

คุณสามารถเพิ่ม ลบ และปรับแต่งเครื่องมือค้นหาของคุณบนแท็บนี้ได้

your search engines

SearchWP จะสร้างเครื่องมือค้นหา เริ่มต้น โดยอัตโนมัติหลังการติดตั้ง

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

ตัวอย่างเช่น คุณสามารถจัดการรายการของแหล่งที่มาการค้นหาของคุณ ทำให้ WordPress พิจารณาคุณลักษณะของเนื้อหาใหม่ จำกัดการค้นหาเฉพาะบางหมวดหมู่ และอื่นๆ

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

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

เนื่องจากในบทช่วยสอนนี้ เราต้องการปรับแต่งวิธีการทำงานของการค้นหาทั่วทั้งไซต์ เราจะแก้ไขเครื่องมือค้นหา เริ่มต้น

อันดับแรก ให้ระบุตำแหน่งที่ WordPress จะค้นหาเนื้อหาโดยกำหนดค่ารายการแหล่งที่มาของการค้นหา

จัดการแหล่งที่มาของการค้นหาของคุณ

ในการเริ่มต้น ให้กดปุ่ม แหล่งที่มาและการตั้งค่า ใต้ส่วนเครื่องมือค้นหา เริ่มต้น

click Sources and Settings

ที่นี่ คุณสามารถจัดการได้ว่าจะให้ WordPress ค้นหาที่ใดที่ตรงกัน โดยค่าเริ่มต้น จะค้นหาในไฟล์ Posts , Pages และ Media

uncheck search sources

หากต้องการนำแหล่งที่มาของการค้นหาออก ให้ยกเลิกการเลือกช่องข้างๆ ตัวอย่างเช่น ให้จำกัดการค้นหาบนเว็บไซต์ของเราให้เฉพาะโพสต์เท่านั้น

ในการดำเนินการดังกล่าว เราจะยกเลิกการเลือกแหล่งที่มาอื่นๆ ทั้งหมดยกเว้น โพสต์ จากนั้นคลิก เสร็จสิ้น เพื่อบันทึกการเปลี่ยนแปลง

left only Posts search source active

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

กำหนดค่าคุณสมบัติการค้นหาของคุณ

ในการเริ่มต้น ให้คลิกปุ่ม เพิ่ม/ลบแอตทริบิวต์ ในส่วนแหล่งที่มาของการค้นหา โพสต์

click Add Remove attributes

ในหน้าต่างที่ปรากฏ คุณสามารถระบุแอตทริบิวต์และอนุกรมวิธานที่คุณต้องการให้ WordPress พิจารณาเมื่อทำการค้นหา

add new attributes

ในการทำให้ฟิลด์ที่กำหนดเองสามารถค้นหาได้ ให้คลิกที่ ฟิลด์กำหนดเอง แล้วป้อนชื่อ

click on the Custom Fields field

นอกจากนี้ยังมีทางลัด Any Meta Key โดยการเพิ่มซึ่งคุณสามารถค้นหาช่องค้นหาที่มีอยู่ทั้งหมดได้ในครั้งเดียว

click Add Any Meta key

เมื่อคุณเพิ่มฟิลด์ที่กำหนดเองเสร็จแล้ว เรามาสร้างอนุกรมวิธานของดัชนี WordPress กัน

ใน WordPress การจัดหมวดหมู่เป็นวิธีการจำแนกเนื้อหาและข้อมูล ตัวอย่างเช่น อาจเป็นหมวดหมู่ของโพสต์ แท็ก รูปแบบ หรืออย่างอื่น

หากต้องการค้นหาอนุกรมวิธานใหม่ ให้คลิกฟิลด์ Taxonomies และเลือกอนุกรมวิธานที่ต้องการ

click on the Taxonomies field

ตัวอย่างเช่น ให้ WordPress พิจารณาแท็กโพสต์เมื่อทำการค้นหา ในการทำเช่นนั้น ให้เลือกตัวเลือก แท็ก จากเมนูแบบเลื่อนลง

choose the Tags taxonomy

คุณยังสามารถทำให้ WordPress ละเว้นแอตทริบิวต์ของโพสต์เริ่มต้น เช่น Title , Content , Slug และ Excerpt ได้โดยยกเลิกการเลือกช่องข้างๆ

uncheck the default attributes

หลังจากที่คุณจัดการแอตทริบิวต์แหล่งที่มาของการค้นหา Posts แล้ว ให้กด Done เพื่อบันทึกการเปลี่ยนแปลง

press Done

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

จำกัดการค้นหาเฉพาะหมวดหมู่โพสต์เฉพาะ

ในการเริ่มต้น ให้กดปุ่ม แก้ไขกฎ

click Edit Rules

จากนั้นคลิก เพิ่มกฎ

click Add Rule

ที่นี่คุณสามารถเพิ่มกฎตามที่ WordPress จะกรองเนื้อหาในผลการค้นหา

there are no rules by default

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

สมมติว่าเราต้องการจำกัดการค้นหาในไซต์ทดสอบของเราไว้ที่หมวด ข่าวสาร

ในการทำเช่นนั้น ขั้นแรกตรวจสอบให้แน่ใจว่าคุณได้เลือกตัวเลือก แสดงรายการเฉพาะถ้า: และการจัด หมวดหมู่ แบบอนุกรมวิธาน

limit search to a specific category

จากนั้นป้อนชื่อหมวดหมู่ที่คุณต้องการจำกัดการค้นหาในช่องขวาสุด ในกรณีของเรามันจะเป็น ข่าว

specify a category

หลังจากที่คุณปรับแต่งกฎของเครื่องมือค้นหาของคุณเสร็จแล้ว ให้คลิก เสร็จสิ้น เพื่อบันทึกการเปลี่ยนแปลงของคุณ

click Done to save your rules

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

บันทึกเครื่องมือค้นหาของคุณ

ในการทำเช่นนั้น ให้กด Save Engines ที่มุมขวาบนของแดชบอร์ด SearchWP ของคุณ

click Save Engines

จากนั้นคลิก สร้างดัชนีใหม่ เพื่อให้ WordPress สร้างดัชนีเนื้อหาทั้งหมดของคุณใหม่และใช้การตั้งค่าเครื่องมือค้นหาใหม่

click Rebuild Index

แค่นั้นแหละ. คุณได้ปรับแต่งการค้นหาตามความต้องการของคุณอย่างเต็มที่โดยไม่ต้องเขียนโค้ดแม้แต่บรรทัดเดียว

มาทดสอบการค้นหาใหม่ของคุณเพื่อให้แน่ใจว่าทำงานตามการปรับแต่งของคุณ

ขั้นตอนที่ 3: ทดสอบการค้นหาใหม่ของคุณ

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

ในเว็บไซต์ทดสอบของเรา เรามีโพสต์ชื่อ "คุณลักษณะใหม่ของ WordPress" ซึ่งมีแท็ก "อัปเดต"

ลองค้นหาด้วยแท็กนี้และดูว่าเราจะพบโพสต์ของเราหรือไม่

press Find Results

เราพบโพสต์นี้แม้ว่าจะไม่มีคำว่า "อัปเดต" ในชื่อ ข้อความที่ตัดตอนมา หรือเนื้อหาก็ตาม

we found the post

หมายความว่าขณะนี้เครื่องมือค้นหาของเราจะพิจารณาแท็กโพสต์เมื่อค้นหารายการที่ตรงกัน

ตรวจสอบให้แน่ใจด้วยว่าขณะนี้การค้นหาในเว็บไซต์ของเราจำกัดเฉพาะหมวดหมู่ "ข่าวสาร"

ในการทำเช่นนั้น เราจะค้นหาคำว่า “WordPress” เนื่องจากเรามีบทความที่เกี่ยวข้องกับ WordPress มากมายในหมวดหมู่อื่นๆ

make another search

คุณจะเห็นว่ามีเพียงโพสต์จากหมวด ข่าว เท่านั้นที่จะแสดงในผลการค้นหาที่เราได้รับ

we found the right posts

หมายความว่ากฎที่เราเพิ่มลงในเครื่องมือค้นหาของเรา ซึ่งบอกว่า WordPress ควรค้นหาในข่าวเท่านั้น ทำงานได้ตามที่ควรจะเป็น

ดังนั้น คุณเพิ่งได้เรียนรู้วิธีที่ง่ายที่สุดในการปรับแต่งการค้นหาของคุณ ตอนนี้เรามาดูกันว่าคุณจะทำอย่างไรโดยไม่ต้องใช้ปลั๊กอิน

สร้างการค้นหาแบบกำหนดเองใน WordPress โดยไม่ต้องใช้ปลั๊กอิน

ในการปรับแต่งการค้นหาของคุณโดยไม่ต้องใช้ปลั๊กอิน คุณจะต้องแก้ไขธีมของคุณ

วิธีที่ปลอดภัยที่สุดคือการสร้างธีมย่อยของธีมปัจจุบันที่คุณใช้บนไซต์ของคุณ

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

นอกจากนี้ การมีธีมลูกยังช่วยให้คุณอัปเดตธีมหลักได้โดยไม่สูญเสียการเปลี่ยนแปลง สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับวิธีสร้างธีมย่อย โปรดดูวิธีสร้างบทช่วยสอนเกี่ยวกับธีมย่อย

หลังจากที่คุณสร้างและเปิดใช้งานธีมย่อย คุณก็พร้อมที่จะเริ่มปรับแต่งการค้นหาของคุณแล้ว

ในการเริ่มต้น ให้ไปที่ Appearance » Theme Files Editor ในแดชบอร์ด WordPress ของคุณ

go to Theme Files Editor

จากนั้นค้นหาไฟล์ functions.php ที่แผงด้านขวาและคลิกที่ไฟล์

click the function file

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

เปิดใช้งานการค้นหาโพสต์ตามแท็กและหมวดหมู่

หากต้องการให้แท็กโพสต์และหมวดหมู่ค้นหาได้บนไซต์ของคุณโดยไม่ต้องใช้ปลั๊กอิน ให้เพิ่มโค้ดต่อไปนี้ในไฟล์ 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 );

เมื่อเสร็จแล้ว ให้กดปุ่ม อัปเดตไฟล์ เพื่อบันทึกการเปลี่ยนแปลงของคุณ

press Done

ตอนนี้ผู้เยี่ยมชมเว็บไซต์ของคุณสามารถค้นหาโพสต์ตามแท็กและหมวดหมู่ได้

เปิดใช้งานการค้นหาตามเนื้อหาความคิดเห็นและชื่อผู้แต่ง

หากต้องการให้ความคิดเห็นและชื่อผู้เขียนสามารถค้นหาได้บนไซต์ของคุณโดยไม่ต้องใช้ปลั๊กอิน ให้เพิ่มโค้ดต่อไปนี้ในไฟล์ 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 );

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

click Done

ตอนนี้ผู้เยี่ยมชมของคุณสามารถค้นหาตามเนื้อหาความคิดเห็นและชื่อผู้แต่งได้

เปิดใช้งานการค้นหาตามฟิลด์ที่กำหนดเองของโพสต์

หากต้องการให้ฟิลด์ที่กำหนดเองสามารถค้นหาได้บนไซต์ของคุณโดยไม่ต้องใช้ปลั๊กอิน ให้เพิ่มโค้ดต่อไปนี้ในไฟล์ 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 );

เมื่อเสร็จแล้ว ให้กดปุ่ม อัปเดตไฟล์ ที่ด้านล่างของตัวแก้ไขเพื่อบันทึกการเปลี่ยนแปลงของคุณ

press Done

ขณะนี้ผู้เยี่ยมชมของคุณสามารถค้นหาโพสต์ตามฟิลด์ที่กำหนดเองได้

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

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

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

กำลังมองหาวิธีสร้างธีมที่กำหนดเองสำหรับไซต์ของคุณหรือไม่? ดูบทแนะนำทีละขั้นตอนของเราเกี่ยวกับวิธีสร้างธีม WordPress ที่กำหนดเอง

ต้องการปรับแต่งหน้าผลการค้นหาของคุณหรือไม่? ทำตามวิธีการปรับแต่งคู่มือหน้าผลการค้นหา WordPress ของคุณ