2009-07-09 47 views
5

似乎有一個Wordpress PHP函數中的一個錯誤,在<?php echo wp_title(''); ?>生成的頁面標題前留下空白,我沒有任何運氣通過Wordpress文檔和論壇。用PHP修剪領先的空白區域?

我以這種方式使用它<body id="<?php echo wp_title(''); ?>">爲了生成一個帶有頁面標題ID的HTML body標籤。

所以我需要做的是帶白的空間,讓身體標記看起來像這樣<body id="mypage">代替本<body id=" mypage">

多餘的空白殺死我試圖用突出菜單項的CSS的活動頁面。當我手動添加一個沒有空白的正確標籤時,我的CSS就起作用了。

那麼我如何去掉白色空間呢?謝謝,馬克


史詩

約翰的兩個部分,一個十六進制轉儲是個好主意;它將白色空間顯示爲兩個「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具有可選頁面標題主角字符 - 看起來像V形字符 - 當選項爲假時應該丟棄它們,並且它們是,但空白區域被傾倒。

有沒有核選擇?


是的,他們都試過;他們仍然返回兩個領先空間...arrgg

回答

36
  1. 地帶從標題的左端的所有空格:

    <?php echo ltrim(wp_title('')); ?> 
    
  2. 地帶的所有空格從兩端:

    <?php echo trim(wp_title('')); ?> 
    
  3. 地帶的所有空間從標題的左端開始:

    <?php echo ltrim(wp_title(''), ' '); ?> 
    
  4. 刪除第一個空間,即使它不是第一個字符:

    <?php echo str_replace(' ', '', wp_title(''), 1); ?> 
    
  5. 地帶纔剛剛開始一個空格(不換行,沒有標籤):

    <?php echo preg_replace('/^ /', '', wp_title('')); ?> 
    
  6. 去掉第一個字符,不管它是什麼:

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

更新

從WordPress documentation on wp_title,看來wp_title顯示標題本身,除非你通過false第二個參數,在這種情況下,它返回它。因此,嘗試:

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

你一定會得到範圍和多樣性的獎項,他們都應該工作。但是Wordpress的功能有些古怪,我仍然有空白。 Firebug將其顯示爲空格,而不是任何形式的字符。 – markratledge 2009-07-09 01:23:29

1

只是在某些品種在這裏拋出:trim

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

感謝這個信息!我身在同一條船上,因此我需要根據頁面標題爲CSS目的生成頁面id,並且上述解決方案效果非常好。

我最後不得不在額外的障礙有些頁面有空格的冠軍,所以我結束了編碼此:

<?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); 

應像魅力一樣工作