คำถามติดแท็ก template-redirect

2
จะสร้างเส้นทาง URL ที่กำหนดเองได้อย่างไร
ฉันมีข้อกำหนดที่แปลกประหลาดมากหวังว่าฉันสามารถอธิบายได้โดยไม่สับสนเกินไป ฉันสร้างเทมเพลตหน้าที่ฉันแสดงรายการคุณสมบัติบางอย่างที่ฉันได้รับจากไฟล์ XML ภายนอกดังนั้นจึงไม่มีปัญหาสมมติว่า URL เป็นดังนี้: http://www.example.com/properties/ แต่ละสถานที่ให้บริการมีลิงค์ที่ควรเปลี่ยนเส้นทางผู้ใช้ไปยังหน้า "คุณสมบัติเดียว" ที่แสดงข้อมูลเพิ่มเติมเกี่ยวกับมัน ฉันสงสัยว่ามีวิธีสร้างลิงก์เช่นนี้หรือไม่: http://www.example.com/properties/123 สถานที่123นั้นจะเป็นรหัสของทรัพย์สิน ดังนั้นหากฉันมี URL อย่างที่properties/some_idฉันต้องการจะสามารถโหลดไฟล์มุมมอง (เช่นsingle.phpหรือpage.phpไฟล์) แต่เฉพาะกับเงื่อนไข URL นี้ เป็นไปได้ไหม

6
single - {$ post_type} - {slug} .php สำหรับประเภทโพสต์ที่กำหนดเอง
ส่วนที่ฉันชอบในลำดับชั้นของเทมเพลต Wordpress คือความสามารถในการสร้างไฟล์เทมเพลตสำหรับหน้าอย่างรวดเร็วโดยใช้ทากโดยไม่ต้องแก้ไขหน้าใน Wordpress เพื่อเลือกเทมเพลต ขณะนี้เราสามารถทำสิ่งนี้: page- {} กระสุน .php แต่ฉันอยากจะทำสิ่งนี้: เดียว {post_type} - {} กระสุน .php ตัวอย่างเช่นในประเภทโพสต์ที่เรียกว่าreviewฉันสามารถสร้างเทมเพลตสำหรับโพสต์ที่เรียกว่า "My Great Review" ที่single-review-my-great-review.php มีใครตั้งค่านี้มาก่อนหรือไม่ single-{post_type}-{slug}.php

1
Custom Post Types และ template_redirect
ฉันมีโพสต์ที่กำหนดเองสองประเภท (เช่น post_type_1 และ post_type_2) ที่ฉันต้องการเปลี่ยนเส้นทางไปยังเทมเพลตอิสระ (single-post_type_1.php และ single-post_type_2.php) เพื่อจัดการการแสดงผลของพวกเขา ฉันไม่ต้องการใส่เทมเพลตการแสดงผลในโฟลเดอร์ชุดรูปแบบเพราะฉันต้องการให้พวกเขามีอยู่ในโฟลเดอร์ปลั๊กอินที่เกี่ยวข้อง ฉันจะให้แต่ละคนลงทะเบียน template_redirect hook ได้อย่างไรโดยไม่กระทบกับคนอื่น ๆ ? หรือฉันควรใช้เทคนิคอื่น ขณะนี้ฉันกำลังทำสิ่งนี้ในปลั๊กอิน 1: add_action( 'template_redirect', 'template_redirect_1' ); function template_redirect_1() { global $wp_query; global $wp; if ( $wp_query->query_vars['post_type'] === 'post_type_1' ) { if ( have_posts() ) { include( PATH_TO_PLUGIN_1 . '/views/single-post_type_1.php' ); die(); } …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.