2009-07-09 18 views
5

WordpressのPHP関数のバグがあると思われます。<?php echo wp_title(''); ?>によって生成されたページのタイトルの前に空白が残っています。Wordpressのドキュメントやフォーラムを巡回しています。PHPで空白の部分を削除しますか?

ページタイトルのIDを持つHTMLボディタグを生成するには、この方法で<body id="<?php echo wp_title(''); ?>">を使用しています。

だから私は何をする必要があるかストリップはbodyタグではなく、この<body id=" mypage">

余分な空白のこの<body id="mypage">のように見えるように、ホワイトスペースは、私は、メニュー項目を強調表示するために使用しようとしているCSSを殺すということですアクティブなページの空白を使わずに正しいbodyタグを手動で追加すると、CSSが動作します。

どのように空白を取り除くのですか?おかげで、マーク・


エピック

ヨハネの第二部では、進ダンプは良いアイデアでした。空白は2つの "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にオプションのfalseのときにドロップされるはずのオプションのページタイトルの先頭文字(シェブロンのように見える)であり、空白がダンプされることです。

核オプション?


彼らはまだ2つの先頭のスペースを返します...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から、あなたがそれを返す場合には2番目のパラメータのためのfalseを渡さない限りwp_titleはタイトル自体を表示することが表示されます。だから、試してみてください。

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

あなたは間違いなくスコープとバラエティの賞を得て、それらはすべて動作するはずです。しかし、何かがWordPressの機能で不気味で、私はまだ空白があります。 Firebugはそれを空白として表示しています。 – markratledge

+0

Epicの第2部が私のオリジナルの質問に付け加えられています! – markratledge

+0

前に両方とも試してみました。彼らはまだ2つの主要なスペースを返します。 – markratledge

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

これを追加する必要があります魅力のように働く

関連する問題