ความแตกต่างระหว่างฟังก์ชั่น the_permalink () และ get_permalink ()


9

ใน WordPress ฉันใช้ทั้งสองthe_permalink()และget_permalink()ฟังก์ชั่น แต่ฉันไม่สามารถรับความแตกต่างในการส่งออกของทั้งสองฟังก์ชั่น ความแตกต่างระหว่างฟังก์ชั่นทั้งสองคืออะไร?

คำตอบ:


16

the_permalink สะท้อนความคิดเห็นของโพสต์ปัจจุบันไปยังส่วนหน้า

get_permalinkอย่างไรก็ตามส่งคืนมันเป็นตัวแปร แต่ไม่ได้สะท้อนออกมา นอกจากนี้คุณยังสามารถส่ง ID โพสต์ไปยังมันได้หากคุณต้องการ Permalink ของโพสต์อื่น

the_permalink เทียบเท่ากับ:

echo get_permalink();

ซึ่งใกล้เคียงกับสิ่งที่มันทำจริงๆ นี่คือการดำเนินการของthe_permalink:

function the_permalink() {
    echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}

3
มันหมายถึงฟังก์ชั่นทั้งหมดเช่น the_ID () และ get_ID () ก็มีความแตกต่างเช่นนี้เหมือนกัน ขออภัย แต่ฉันใหม่สำหรับ WordPress นั่นคือเหตุผลที่ถาม
AliasgerSW

@AliasgerSW thats รูปแบบที่มีข้อยกเว้นบางอย่าง แต่โดยทั่วไปมันเป็นวิธีการที่
Nicolai

@AliasgerSW เมื่อมีข้อสงสัยให้ดูที่รหัส QueryPostsเป็นเว็บไซต์ที่ยอดเยี่ยมในการค้นหาซอร์สโค้ดของฟังก์ชั่น WordPress
เชีย

@ AliasgerSW ผลิตโดย @Rarst ของเราเอง
shea

@shea QueryPosts ถูกยกเลิกแล้ว : - (\
ฉันเป็นคนที่โง่ที่สุดใน

3

ถ้าคุณดูWordPress Codexคุณจะเห็นว่าget_permalink()มีไว้สำหรับใช้นอกวง the_permalink()สำหรับใช้ภายในลูป นั่นเป็นวิธีที่ง่ายที่สุดในการดู


อาจเป็นวิธีที่ง่ายในการดู แต่ไม่ใช่แบบที่สมบูรณ์มาก
Nicolai

แน่นอน @Tom J Nowell ♦คำตอบนั้นกระชับกว่านี้มาก ดีขึ้นมากและอธิบายได้ดี :-)
แมตต์รอยัล

-1

the_permalink()the_title()จะใช้ในการโพสต์ลูปเช่น อ่านเพิ่มเติมเกี่ยวกับลูปในThe Loop

get_permalink()สามารถใช้ในลูปหรือนอกลูป ในลูปฟังก์ชั่นจะส่งกลับ (ไม่ใช่ echo) โพสต์ลิงก์ปัจจุบัน แต่นอกลูปจะต้องมีรหัสโพสต์

ตัวอย่างเช่น:

echo get_permalink( 1 );

นี่จะแสดงลิงก์หน้าปัจจุบัน:

echo get_permalink();

1
จริงๆแล้วมันไม่จำเป็นต้องมี ID นอกวง
Nicolai
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.