Get_post_permalink और get_permalink में क्या अंतर है?


11

मैं पर प्रलेखन पढ़ा है get_post_permalink()और get_permalink()और दोनों के बीच अंतर समझ में नहीं आता। यह हो सकता है क्योंकि मैं $leavenameऔर $sampleमापदंडों के उद्देश्य को नहीं समझता । क्या कोई उन्हें समझा सकता है, और जब एक फ़ंक्शन दूसरे की तुलना में अधिक उपयोगी होगा? धन्यवाद!

जवाबों:


6

get_post_permalink()Funciton अपने "स्थायी" लिंक के साथ साथ अपने कस्टम फिर से लिखने वाले नियमों में परिवर्तन के आधार पर एक पोस्ट के लिए लिंक को हासिल करेगा ?p=123उदाहरण के लिए में my-beautiful-sunday-diaryget_permalink()समारोह अधिक "बुनियादी" यह क्या करता है में बहुमुखी रूप में अच्छी तरह से अधिक है, लेकिन: एक के लिए post_typeकी

  • page, यह उपयोगकर्ता है get_page_link()
  • attachment, यह उपयोगकर्ता है get_attachment_link()
  • post, यह उपयोगकर्ता है get_post_link()

यह terms के डिस्प्ले को भी पसंद करता है categoryऔर डेट पेर्मलिंक। अंत में, यह या तो आपके "सुंदर" लिंक को बदल देता है home_url()या सिर्फ कच्चा लिंक देता है अगर कोई कस्टम रीराइट नियम नहीं दिए गए थे। अंत में यह एक सामान्य फिल्टर संलग्न करता है:

/**
 * Filters the permalink for a post.
 *
 * Only applies to posts with post_type of 'post'.
 *
 * @since 1.5.0
 *
 * @param string  $permalink The post's permalink.
 * @param WP_Post $post      The post in question.
 * @param bool    $leavename Whether to keep the post name.
 */
return apply_filters( 'post_link', $permalink, $post, $leavename );

आशा है कि विषय को स्पष्ट करता है।

Protip: यदि आप किसी प्लग में परिवर्तन peramlinks की जरूरत है, में स्थित विशिष्ट फिल्टर के साथ जाना get_attachment_link(), get_post_link()आदि केवल अगर आप या तो एक ही साइट पर काम कर रहे हैं और अपने कोड को वितरित करने की योजना नहीं बना रहे हैं या आप एक प्लगइन केवल पुनर्लेखन लक्ष्यीकरण लिख रहे हैं, तो सामान, फिर ऊपर जेनेरिक फिल्टर के साथ जाओ। और आप हर विषय लेखक के प्रयासों को नाकाम करेंगे और एक कॉलबैक प्राथमिकता दौड़ शुरू करेंगे।


2

कोई और निश्चित रूप से मुझसे बेहतर समझाएगा। जैसा कि मैं केवल उपयोग करता हूंget_permalink()

वे ज्यादातर समान होते हैं क्योंकि वे दोनों पोस्ट पर्मलिंक वापस करते हैं, get_permalinkउपयोग get_post_permalink(पोस्ट_टाइप्स के लिए) और फ़िल्टर हो सकते हैं। यह एक पेज लिंक, अटैचमेंट को पुनः प्राप्त करने के लिए भी उपयोग किया जाएगा ... जहाँ get_post_permalinkपोस्ट_टाइप्स के लिए समर्पित प्रतीत होता है।

संपादित करें:

के उपयोग के बारे में $leavename, ऐसा लग रहा है कि लिंक के पोस्ट प्रकार के अनुसार, यह पारगमन विनाश की वापसी के रूप में फ्रंट-एंड (और बैक-एंड में) उपयोग की कोई आवश्यकता नहीं है।

 echo get_permalink(123, true);

लिंक के लिए फिर से लिखना स्कीमा लौटाएं, जिसका उपयोग किया जा सकता है

एक पद:

 http://example.com/%postname%/

एक उत्पाद:

 http://example.com/%product%/

$ revenit timecode सरणी में get_permalink () में $ leavename का उपयोग किया जाता है और फ़ंक्शन लाइन 221 में पहले पैरामाटर के रूप में डाला जाता है

$permalink = home_url( str_replace($rewritecode, $rewritereplace, $permalink) );

यह एक विकासक के लिए एक लिंक के लिए फिर से लिखना स्लग की खोज करने के लिए उपयोगी हो सकता है (लेकिन मुझे लगता है कि ऐसा करने का एक बेहतर तरीका है)

आशा है कि कोई और जानकारी देगा।


धन्यवाद! मैं अभी भी इस पर वास्तव में स्पष्ट नहीं हूँ। क्या आपने कभी पर्मलिंक संरचना को बदलने के लिए $ लीवेननाम का उपयोग किया है? ऐसा क्यों और कैसे होगा? और क्या आपका मतलब है कि get_post_permalink () का उपयोग अभिलेखागार को पुनः प्राप्त करने के लिए किया जाता है, या आप get_permalink () का उल्लेख कर रहे हैं? मैंने आज तक कभी भी get_post_permalink () का उपयोग नहीं किया है जब मैं भर में चला गया तो इसे बिल्कुल get_permalink () की तरह उपयोग किया जा रहा है, इसलिए मैं अंतर पर स्पष्ट नहीं हूं।
मिशेल

मैं get_permalink के बारे में बात कर रहा हूं, आपके पास स्रोत में है, यह लेखक पृष्ठ, श्रेणियों आदि को पुनर्प्राप्त करता है ... यह get_post_permalink से अधिक करेगा। Get_permalink एक टेम्पलेट फंक्शन है अगर मैं गलत नहीं हूँ, और शक्तिशाली है।
बेनोती

समझ गए, मैं अभी नहीं मिल रहा हूँ जब हमें कभी भी get_post_permalink () का उपयोग करने की आवश्यकता होगी या क्या आप कोड उदाहरण दे सकते हैं? और क्या आपको पता है कि $ लीवननाम और $ नमूना क्या करते हैं? मैंने केवल कभी भी get_permalink () का उपयोग किया है :-)
मिशेल

2
$leavenameपर्मलिंक संरचना प्राप्त करने के लिए व्यवस्थापक में उपयोग किया जाता है ताकि यह इंटरफ़ेस उत्पन्न कर सके जो आपको पोस्ट के स्लग को संपादित करने देता है।
मिलो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.