2009-07-09 13 views
5

वर्डप्रेस PHP फ़ंक्शन में एक बग प्रतीत होता है जो <?php echo wp_title(''); ?> द्वारा उत्पन्न पृष्ठ के शीर्षक के सामने व्हाइटस्पेस छोड़ देता है, मैं किसी भी भाग्य के बिना उस फ़ंक्शन पर वर्डप्रेस दस्तावेज़ और फ़ोरम के माध्यम से रहा हूं।PHP के साथ अग्रणी सफेद स्थान ट्रिम करें?

मैं पृष्ठ शीर्षक की आईडी के साथ एक HTML बॉडी टैग उत्पन्न करने के लिए इसे <body id="<?php echo wp_title(''); ?>"> का उपयोग कर रहा हूं।

तो मैं क्या करने की जरूरत पट्टी कि सफेद स्थान है, ताकि शरीर टैग इस <body id=" mypage">

अतिरिक्त सफेद स्थान के बजाय इस <body id="mypage"> की तरह लग रहा सीएसएस मैं मेनू आइटम को उजागर करने का उपयोग करने के लिए कोशिश कर रहा हूँ मारता है है सक्रिय पृष्ठ का। जब मैं सफेद स्थान के बिना मैन्युअल रूप से सही बॉडी टैग जोड़ता हूं, तो मेरा सीएसएस काम करता है।

तो मैं सफेद जगह को कैसे पट्टी करूंगा? धन्यवाद, मार्क


महाकाव्य

जॉन के भाग दो, एक हेक्स डंप एक अच्छा विचार था; यह सफेद जगह को दो "20" रिक्त स्थान के रूप में दिखाता है। लेकिन सभी समाधान जो प्रमुख रिक्त स्थान और सफेद स्थान को पट्टी नहीं करते थे।

और, <?php ob_start(); $title = wp_title(''); ob_end_clean(); echo $title; ?>

मुझे < body id ="">

और <?php ob_start(); $title = wp_title(''); echo $title; ?>

मुझे < body id =" mypage">

पहेली देता है देता है। समस्या की जड़ यह है कि wp_title में वैकल्पिक पृष्ठ शीर्षक प्रमुख वर्ण हैं - जो शेवरॉन की तरह दिखते हैं - जिन्हें विकल्प गलत होने पर गिरा दिया जाना चाहिए, और वे हैं, लेकिन सफेद स्थान में डंप हो जाता है।

क्या कोई है परमाणु विकल्प?


यूप, पहले दोनों की कोशिश की; वे अभी भी दो प्रमुख रिक्त स्थान लौटते हैं ...

<?php echo ltrim(wp_title('')); ?> 
  • पट्टी दोनों छोर से सभी खाली स्थान के: शीर्षक के बाएं छोर से सभी खाली स्थान के arrgg

  • उत्तर

    36
    1. पट्टी

      <?php echo trim(wp_title('')); ?> 
      
    2. पट्टी सभी रिक्त स्थान शीर्षक के बाएं सिरे से:

      <?php echo ltrim(wp_title(''), ' '); ?> 
      
    3. पहले रिक्ति निकालें, भले ही वह पहला वर्ण नहीं है:

      <?php echo str_replace(' ', '', wp_title(''), 1); ?> 
      
    4. पट्टी केवल एक ही स्थान (नई पंक्ति नहीं, नहीं टैब) शुरुआत में:

      <?php echo preg_replace('/^ /', '', wp_title('')); ?> 
      
    5. पहले वर्ण को स्ट्रिप करें, जो भी हो:

      <?php echo substr(wp_title(''), 1); ?> 
      

    अद्यतन

    Wordpress documentation on wp_title से, ऐसा लगता है कि wp_title प्रदर्शित करता है शीर्षक में ही जब तक आप दूसरा पैरामीटर, जो मामले में यह रिटर्न के लिए false गुजरती हैं। तो कोशिश:

    <?php echo trim(wp_title('', false)); ?> 
    
    +2

    आपको निश्चित रूप से दायरे और विविधता के लिए पुरस्कार मिलता है, और उन्हें सभी को काम करना चाहिए। लेकिन वर्डप्रेस फ़ंक्शन के साथ कुछ बेकार है और मेरे पास अभी भी व्हाइटस्पेस है। फायरबग इसे व्हाइटस्पेस के रूप में दिखाता है, किसी भी प्रकार का चरित्र नहीं .... – markratledge

    +0

    भाग दो महाकाव्य मेरे मूल प्रश्न पर निपटाया जाता है! – markratledge

    +0

    पहले दोनों को आजमाया; वे अभी भी दो प्रमुख रिक्त स्थान लौटते हैं .... arrg। – markratledge

    1

    बस यहाँ कुछ किस्म में फेंकने के लिए: trim

    <body id="<?=trim(wp_title('', false));?>"> 
    
    1

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

    मुझे लगता है कि में एक अतिरिक्त बाधा कुछ पृष्ठों एम्बेडेड रिक्त स्थान के साथ खिताब केवल सहायता की जरूरत समाप्त हो गया है, इसलिए मैं इस कोडिंग समाप्त हो गया:

    <?php echo str_replace(' ','-',trim(wp_title('',false))); ?> 
    
    0

    अपने functions.php में जोड़ना

    add_filter('wp_title', create_function('$a, $b','return str_replace(" $b ","",$a);'), 10, 2); 
    

    चाहिए एक आकर्षण की तरह काम

    संबंधित मुद्दे