วิธีแสดงรหัสโพสต์และเพจในผู้ดูแลระบบ WordPress

เผยแพร่แล้ว: 2015-02-14

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

ไม่ว่าจะเป็นรหัสย่อ เมื่อตั้งค่าบางอย่างในการตั้งค่าธีม หรืออาจเพียงเพื่อรับลิงก์ด่วน

ไม่ว่าในกรณีใด WordPress ไม่ได้ทำให้ง่ายต่อการค้นหา ID ของโพสต์ วิธีหนึ่งที่จะคว้ามันได้คือไปที่หน้าแก้ไขของโพสต์และดู URL ควรมีลักษณะดังนี้:

 https://yourwebsite.com/wp-admin/post.php?post=137171&action=edit

137171 ในตัวอย่างด้านบนคือ ID ของโพสต์ – ตัวระบุหลักในฐานข้อมูล แน่นอนว่าต้องมีวิธีที่ง่ายกว่าในการคิดออกใช่ไหม โชคดีที่มี

  • แสดงรหัสโพสต์ด้วย Plugin
  • DIY: แสดงรหัสโพสต์ด้วยรหัส
    • การเพิ่มคอลัมน์ที่กำหนดเอง
    • ค้นหาตะขอที่ใช่
    • วาง ID ไว้ด้านหน้า
  • บทสรุป

แสดงรหัสโพสต์ด้วย Plugin

ทางออกที่ง่ายที่สุดคือการใช้ปลั๊กอิน คุณปู่คือ Reveal IDs ซึ่งเป็นปลั๊กอินฟรีที่มีการดาวน์โหลดมากกว่า 425,000 ครั้ง

อีกตัวเลือกหนึ่งคือ WPsite Show IDs

ปลั๊กอินทั้งสองทำสิ่งเดียวกัน: แสดง ID ของโพสต์ เพจ ผู้ใช้ หมวดหมู่ การจัดหมวดหมู่แบบกำหนดเอง ประเภทโพสต์ที่กำหนดเอง และอื่นๆ เหตุผลเดียวที่ฉันเอนเอียงไปทาง WPsite Show ID คือรอยเท้า 8Kb Reveal Ids อยู่ที่ประมาณ 311Kb ซึ่งดูจะมากเกินไปสำหรับปลั๊กอินธรรมดาๆ เช่นนี้

DIY: แสดงรหัสโพสต์ด้วยรหัส

หากคุณสนใจวิธีแสดงรหัสโพสต์ด้วยตัวเอง มาดูโค้ดกันเลย

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

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

การเพิ่มคอลัมน์ที่กำหนดเอง

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

กำลังโหลดส่วนสำคัญ 8e8183e694b674638830e23505fe0377

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

ฟังก์ชันที่เชื่อมโยงกับการกระทำนั้นใช้พารามิเตอร์สองตัว: ชื่อคอลัมน์และรหัสของโพสต์จะปรากฏขึ้น วิธีนี้สมบูรณ์แบบ – เราต้องแน่ใจว่าได้สะท้อน ID เมื่อคอลัมน์กำหนดเองของเราแสดงขึ้น

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

กันอย่างรวดเร็ว: สังเกตว่าฉันใช้ 'revealid_id' == $column อย่างไร ซึ่งดูแปลกๆ ไปหน่อย สิ่งนี้เรียกว่าเงื่อนไข Yoda และเป็นที่นิยมใน WordPress เหตุผลก็คือ หากคุณลืมกำหนดตัวแปร คุณจะไม่ได้รับข้อผิดพลาด PHP ที่ช่องว่างขนาดใหญ่บนหน้าเว็บของคุณ

ค้นหาตะขอที่ใช่

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

ในความเป็นจริง hooks เหล่านี้เรียกว่า hooks แบบปรับ ได้เนื่องจากอยู่ในชุดมาตรฐาน รูปแบบทั่วไปคือ: manage_[post_type_or_element]_columns and manage_[post_type_or_element]_custom_column

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

กำลังโหลดส่วนสำคัญ f5d3a74815180d6caae226de135a8421

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

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

กำลังโหลดส่วนสำคัญ fa188e0650ab09cc1acb796165d88864

ฉันแนะนำวิธีการเดียวกันนี้เมื่อต้องรับมือกับอนุกรมวิธาน หากต้องการส่งออก ID สำหรับหมวดหมู่เท่านั้น คุณสามารถใช้ manage_edit-link-categories_columns และ manage_link_categories_custom_column แต่หากต้องการเพิ่มลงในการจัดหมวดหมู่ทั้งหมด เราจำเป็นต้องใช้ลูปอื่น:

กำลังโหลดส่วนสำคัญ 6d2ebe47188e8599eb3b0fe3527d4860

สุดท้ายแต่ไม่ท้ายสุด เรามีผู้ใช้และความคิดเห็น สิ่งเหล่านี้ค่อนข้างตรงไปตรงมาเช่นกัน ลองดูสิ:

กำลังโหลดส่วนสำคัญ 96c1e364e6f29421d38595c509b53536

วาง ID ไว้ด้านหน้า

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

เราจะยังคงใช้การผสานอาร์เรย์ แต่เราต้องใช้กลอุบายมากกว่านี้ เราต้องแยกมันออกก่อน อาร์เรย์แรกจะประกอบด้วยช่องทำเครื่องหมาย (องค์ประกอบแรกของอาร์เรย์ดั้งเดิม) อาร์เรย์ที่สองจะมีทุกอย่างอื่น เราจะรวมอาร์เรย์แรกกับอาร์เรย์ที่มี ID ของเราแล้วรวมกับอาร์เรย์ที่สอง รหัสควรทำให้สิ่งนี้ชัดเจนขึ้นมาก:

กำลังโหลดส่วนสำคัญ ceb06c8dd27458696ebb4d89358eeda3

บทสรุป

ฉันคิดว่านี่เป็นตัวอย่างที่ดีของโมดูลาร์ของ WordPress ครั้งหนึ่งเคยแสดง ID ในผู้ดูแลระบบ (pre-WordPress 2.5) แต่กลับกลายเป็นว่ามีคนไม่มากที่ต้องการ เมื่อคุณลักษณะนี้ถูกลบออก ปลั๊กอินก็ผุดขึ้นเพื่อรองรับผู้ที่ยังต้องการเห็นรหัสโพสต์

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

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