दिलचस्प पोस्ट
LocalBroadcastManager का उपयोग कैसे करें? क्या $ _SERVER PHP में मौजूद है या नहीं? आईओएस 6 में ऑटोरोटेट अजीब व्यवहार है रिक्त और खाली ("") जावा स्ट्रिंग के बीच अंतर मैं सी # में ActiveX नियंत्रण (COM) कैसे बना सकता हूं? कार्य के भीतर जावास्क्रिप्ट और ऑपरेटर नेस्टेड सूची इंडेक्स जावा के साथ दो तिथियों के बीच दिन की गणना कैस्परजेएस में तब () बयान में क्या लिपटे जाना चाहिए? सिंक / async फ़ंक्शंस के निष्पादन आदेश का निर्धारण कैसे करें? मैं कैसे विभिन्न स्थानों से एक Django वेब अनुप्रयोग में एकाधिक लॉगिन का पता लगा सकता हूँ? कैसे जाओ में कई आदेश पाइप? स्ट्रिंग को जावास्क्रिप्ट फ़ंक्शन कॉल में कैसे चालू करें? कैसे एक PHP सरणी से एक HTML तालिका बनाने के लिए? जावास्क्रिप्ट में एक छवि द्विआधारी डेटा में परिवर्तित करें मैं अपने डीएलएल इंटरफ़ेस या एबीआई में स्टैंडर्ड लाइब्रेरी (एसटीएल) कक्षाओं का उपयोग कैसे कर सकता हूं?

वर्डप्रेस में मौजूदा पृष्ठ का नाम कैसे प्राप्त करें?

क्या वर्डप्रेस थीम में वर्तमान पृष्ठ नाम को पुनः प्राप्त करने के लिए php कोड का उपयोग किया जा सकता है?

मैंने जो सारे समाधान अभी तक देखा है ( get_page()->post_name the_title() , get_page()->post_name , get_post() , आदि) पोस्ट प्रविष्टियों वाले पेज के लिए काम नहीं करते हैं। वे सभी नवीनतम ब्लॉग प्रविष्टि का नाम वापस करेंगे।

एक और तरीका बताए, मान लें कि आपके पास वर्डप्रेस में एक पृष्ठ "मेरा न्यूज़" नाम के साथ बनाया गया है यह पृष्ठ "पोस्ट पेज" के रूप में सेट है पेज पर कुछ पोस्ट जोड़ें अब, नवीनतम एप के नाम के बजाय स्ट्रिंग "माय-न्यूज़" को पुनः प्राप्त करने के लिए क्या एपीआई का उपयोग किया जा सकता है?

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

मुझे निम्न चर मिल गया है जो काम करने लगता है।

 $wp_query->queried_object->post_name 

यह वास्तव में पेज नाम (स्लग) के यूआरएल के मैत्रीपूर्ण संस्करण है, जो मैं भी तलाश कर रहा था। यह डिफ़ॉल्ट टेम्प्लेट (वीनटेन) के साथ परीक्षण किया गया था। मुझे सच में यकीन नहीं है कि नीचे दिए गए दो चर क्यों मेरी साइट पर काम नहीं करते हैं Print_r print_r() टिप के लिए धन्यवाद keatch

अब, यह जानकारी इतनी गहरी क्यों छिपाई गई है?

वेब के समाधान से एकत्रित समाधान "वर्डप्रेस में मौजूदा पृष्ठ का नाम कैसे प्राप्त करें?"

WP वैश्विक चर $pagename आपके लिए उपलब्ध होना चाहिए, मैंने आपके द्वारा निर्दिष्ट एक ही सेटअप के साथ ही कोशिश की है।

$pagename फ़ाइल wp-include / theme.php में परिभाषित किया गया है, फ़ंक्शन get_page_template() अंदर, जो आपके पृष्ठ थीम फ़ाइलों को पार्स होने से पहले कहा जाता है, इसलिए यह पृष्ठों के लिए आपके टेम्पलेट्स के अंदर किसी भी समय उपलब्ध है।

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

  • हालांकि यह प्रलेखित नहीं प्रतीत होता है, $pagename var केवल सेट होता है यदि आप permalinks का उपयोग करते हैं मुझे लगता है इसका कारण यह है कि यदि आप उनका उपयोग नहीं करते हैं, तो WP को पेज स्लग की आवश्यकता नहीं है, इसलिए यह इसे सेट नहीं करता है

  • $pagename सेट नहीं है यदि आप पेज को एक स्थैतिक फ्रंट पेज के रूप में उपयोग करते हैं

  • यह /wp-includes/theme.php के अंदर कोड है, जो उस समाधान का उपयोग करता है जिसे आपने इंगित किया था जब $pagename सेट नहीं किया जा सकता है:

     $pagename = get_query_var('pagename'); if ( !$pagename && $id > 0 ) { // If a static page is set as the front page, $pagename will not be set. Retrieve it from the queried object $post = $wp_query->get_queried_object(); $pagename = $post->post_name; } 

पृष्ठ का स्लग नाम प्राप्त करने के लिए मेरा दृष्टिकोण

 $slug = basename(get_permalink()); 

ठीक है, आपको लूप से पहले पृष्ठ शीर्षक को पकड़ना होगा।

 $page_title = $wp_query->post->post_title; 

संदर्भ के लिए जांचें: http://codex.wordpress.org/Function_Reference/WP_Query#Properties

एक करें

 print_r($wp_query) 

$ wp_query वस्तु के सभी मूल्यों को देखने के लिए लूप से पहले

 <?php wp_title(''); ?> 

यह मेरे लिए काम करता है, अगर मैं सही ढंग से समझता हूं, तो आप उस पृष्ठ पर पेज नाम प्राप्त करना चाहते हैं, जिसमें पोस्ट प्रविष्टियां हैं?

वैश्विक चालू $ पोस्ट के साथ आप वर्तमान पेज, पोस्ट या कस्टम पोस्ट प्रकार प्राप्त कर सकते हैं।

echo $post->post_title

नोट: फ़ंक्शन या क्लास में आपको global $post; निर्दिष्ट करने की आवश्यकता होगी global $post; $ पोस्ट का प्रयोग करने से पहले

यदि आपके पृष्ठ पर लूप हैं, तो सुनिश्चित करें कि आप wp_reset_postdata(); साथ प्रत्येक लूप को समाप्त करते हैं wp_reset_postdata(); डिफ़ॉल्ट पोस्ट प्रदर्शित करने के लिए $ पोस्ट वापस सेट करने के लिए (पेज)।

ध्यान दें, 'पोस्ट_ शीर्षक' चर किसी भी कस्टम लूप / क्वेरी के लिए भी उपलब्ध है .. मेनू आइटम और मीडिया अटैचमेंट्स शामिल हैं .. वर्डप्रेस में सब कुछ 'पोस्ट' है

यदि आप अपने फ़ंक्शंस.एफ़पी फ़ाइल के भीतर से वर्तमान पृष्ठ का उपयोग करने की तलाश कर रहे हैं (इसलिए, लूप से पहले, $post से पहले, पॉपुलेट शुरू होने से पहले, आदि … आदि) आपके पास वास्तव में कोई विकल्प नहीं है सर्वर चर स्वयं और क्वेरी स्ट्रिंग से अनुरोधित पृष्ठ निकालें।

 $page_slug = trim( $_SERVER["REQUEST_URI"] , '/' ) 

ध्यान दें कि यह एक "गूंगा" समाधान है। ऐसा नहीं पता है, उदाहरण के लिए, स्लग 'आने वाले-जल्द' के p=6 भी p=6 और यह मानता है कि आपकी परमैंक सेटिंग्स को pagename सेट किया गया है (जो कि वे वैसे भी होना चाहिए!)।

फिर भी, यदि आपकी एक नियंत्रित परिदृश्य है, तो एक उपयोगी छोटी चाल हो सकती है। मैं इसे इस स्थिति में उपयोग कर रहा हूं जहां मैं गैर-लॉग इन आगंतुकों को "आने वाले समय" पृष्ठ पर पुनर्निर्देशित करना चाहता हूं; लेकिन मुझे यह सुनिश्चित करना है कि मैं उन्हें खतरनाक "रीडायरेक्ट पाश" में नहीं फेंक रहा हूं, इसलिए मुझे इस नियम से "आने वाले जल्द ही" पेज को बाहर करने की आवश्यकता है:

 global $pagenow; if ( ! is_admin() && 'wp-login.php' != $pagenow && 'coming-soon' != trim( $_SERVER["REQUEST_URI"] , '/' ) && ! is_user_logged_in() ){ wp_safe_redirect( 'coming-soon' ); } 

इसे इस्तेमाल करे:

 $pagename = get_query_var('pagename'); 

     $ शीर्षक = get_the_title ($ पोस्ट); 
     $ parent_title = get_the_title ($ post-> post_parent);

     $ शीर्षक गूंज;
     गूंज $ parent_title;

आशा है कि यह मदद मिलेगी !! 😉

मेरा मानना ​​है कि रूट्स स्टार्टर थीम का वर्तमान पृष्ठ का शीर्षक पाने के लिए शानदार कार्य है, बहुत हैक करने योग्य, सभी ठिकानों को शामिल किया गया है और आसानी से wp_title हुक के साथ उपयोग किया जा सकता है

https://github.com/roots/roots/blob/6.5.0/lib/titles.php

 /** * Page titles */ function roots_title() { if (is_home()) { if (get_option('page_for_posts', true)) { echo get_the_title(get_option('page_for_posts', true)); } else { _e('Latest Posts', 'roots'); } } elseif (is_archive()) { $term = get_term_by('slug', get_query_var('term'), get_query_var('taxonomy')); if ($term) { echo $term->name; } elseif (is_post_type_archive()) { echo get_queried_object()->labels->name; } elseif (is_day()) { printf(__('Daily Archives: %s', 'roots'), get_the_date()); } elseif (is_month()) { printf(__('Monthly Archives: %s', 'roots'), get_the_date('F Y')); } elseif (is_year()) { printf(__('Yearly Archives: %s', 'roots'), get_the_date('Y')); } elseif (is_author()) { $author = get_queried_object(); printf(__('Author Archives: %s', 'roots'), $author->display_name); } else { single_cat_title(); } } elseif (is_search()) { printf(__('Search Results for %s', 'roots'), get_search_query()); } elseif (is_404()) { _e('Not Found', 'roots'); } else { the_title(); } } 

हमें "पोस्ट" वैश्विक चर का उपयोग करने की आवश्यकता है

 global $post; echo $post->post_title; 

यह वर्तमान पेज / पोस्ट शीर्षक को प्रतिध्वनित करेगा।

उममीद है कि इससे मदद मिलेगी!!!!

मैं एक सरल समाधान के साथ आया हूँ

Wp_title () से पेज नाम का लौटा मूल्य प्राप्त करें, यदि खाली है, तो होमपेज का प्रिंट करें, अन्यथा wp_title value गूंज करें।

 <?php $title = wp_title('',false); ?> 

पहले एआरजी के साथ जुदाई को हटाने के लिए याद रखें और फिर वेरिएबल पर इनपुट के रूप में उपयोग करने के लिए झूठी डिस्प्ले सेट करें। तो बस आपके शीर्षक आदि के बीच कोड को बोन्ग करें। टैग

 <?php if ( $title == "" ) : echo "Home"; else : echo $title; endif; ?> 

मेरे लिए एक इलाज किया और यह सुनिश्चित करने के लिए कि पहली बार उस अनुभाग में घोषित किया गया है जहां आप $ शीर्षक निकालने की इच्छा रखते हैं, यह अलग-अलग चर को वापस करने के लिए ट्यून किया जा सकता है

sean@loft6.co.uk

लूप के भीतर

 <pre> if ( have_posts() ) : while ( have_posts() ) : the_post(); /******************************************/ echo get_the_title(); /******************************************/ endwhile; endif; </pre> 

इससे आपको वर्तमान पृष्ठ का शीर्षक दिखाई देगा। सुधार के लिए http://codex.wordpress.org/Function_Reference/get_the_title

मुझे पता है यह पुराना है, लेकिन मैं इस पर आया और जो सबसे आसान लगता है इस का उपयोग कर रहा है

 <?php single_post_title(); ?> 

एक विकल्प, यदि आप वास्तविक क्वेरी वाले पृष्ठ की तलाश कर रहे हैं, तो पृष्ठ आईडी या स्लग क्वेरी की बजाय अवरोध करना है:

 add_action('parse_request', 'show_query', 10, 1); 

आपके फ़ंक्शन के भीतर, आपके पास $ wp ऑब्जेक्ट तक पहुंच है और आप या तो pagename या पोस्ट नाम प्राप्त कर सकते हैं:

 function show_query($wp){ if ( ! is_admin() ){ // heck we don't need the admin pages echo $wp->query_vars['pagename']; echo $wp->query_vars['name']; } } 

यदि, दूसरी ओर, आपको वास्तव में पोस्ट डेटा की आवश्यकता है, इसे प्राप्त करने के लिए पहला स्थान (और इस संदर्भ में यकीनन, सबसे अच्छा) है:

 add_action('wp', 'show_page_name', 10, 1); function show_page_name($wp){ if ( ! is_admin() ){ global $post; echo $post->ID, " : ", $post->post_name; } } 

अंत में, मुझे पता है कि शायद ओपी सवाल नहीं था, लेकिन अगर आप व्यवस्थापक पृष्ठ नाम की तलाश कर रहे हैं, तो वैश्विक $pagenow उपयोग करें।

यहां मेरा संस्करण है:

 $title =ucwords(str_replace('-', ' ', get_query_var('pagename'))); 

get_query_var ('pagename') मुझे सिर्फ पेज स्लग दे रहा था तो उपरोक्त सभी डैश की जगह है, और प्रत्येक शब्द अपरकेस का पहला अक्षर बनाता है – इसलिए यह वास्तव में एक शीर्षक के रूप में उपयोग किया जा सकता है

लूप शुरू होने से पहले शीर्षक दिखाएं:

 $page_title = $wp_query->post->post_title; 

धन्यवाद

मैंने अब WordPress Codec यह फ़ंक्शन पाया है:

पूछें http://codex.wordpress.org/Function_Reference/wp_list_pages

जो कि $wp_query->get_queried_object लिए एक आवरण है इस पोस्ट ने मुझे सही दिशा में रखा लेकिन ऐसा लगता है कि इसे इस अद्यतन की आवश्यकता है

यह भी कार्य करता है यदि आप फ़ंक्शन में हैं। Php। यह सबसे अच्छा तरीका नहीं है क्योंकि आपको वैश्विक सरणी का उपयोग करना पड़ता है लेकिन यह काम करता है।

1- सबसे पहले, हमें एक फिल्टर जोड़ने की आवश्यकता है Template_include की तुलना में उपयोग करने के लिए एक बेहतर फ़िल्टर मौजूद होना चाहिए, लेकिन मैं उन सभी को नहीं जानता। कृपया मुझे एक सही बिंदु पर बताएं

 add_filter( 'template_include', 'var_template_include', 1000 ); function var_template_include( $template ){ global $wp_query; $GLOBALS['current_page'] = $wp_query->get_queried_object()->post_name; return $template; } 

2- सीधे चर का उपयोग करने से बचें

 function get_current_page( $echo = false ) { if( !isset( $GLOBALS['current_page'] ) ) return false; return $GLOBALS['current_page']; } 

3- अब आप functions.php के किसी भी दूसरे हिस्से में get_current_page() फ़ंक्शन का उपयोग कर सकते हैं।