6

Wordpress の PHP 関数で、生成されたページのタイトルの前に空白が残るというバグがあるよう<?php echo wp_title(''); ?> です。

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

だから私がする必要があるのは、その空白を取り除き、ボディタグがこれ<body id="mypage"> ではなくこのようになるようにすることです<body id=" mypage">

余分な空白は、アクティブなページのメニュー項目を強調表示するために使用しようとしている CSS を無効にします。空白なしで正しい本文​​タグを手動で追加すると、CSS が機能します。

では、空白を削除するにはどうすればよいでしょうか。ありがとう、マーク


叙事詩のパート 2

ジョン、16 進ダンプは良い考えでした。空白が 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

4

6 に答える 6

38
  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ドキュメントwp_titlewp_titleから、2番目のパラメーターを渡さない限り、タイトル自体を表示するように見えfalseます。その場合、それを返します。だから試してみてください:

<?php echo trim(wp_title('', false)); ?>
于 2009-07-09T01:04:15.770 に答える
10

ltrim()

于 2009-07-09T01:04:08.717 に答える
1
ltrim($str)
于 2009-07-09T01:04:19.297 に答える
1

この情報をありがとう!ページ タイトルに基づいて CSS の目的でページ ID を生成する必要があり、上記のソリューションがうまく機能したという点で、私は同じ船に乗っていました。

一部のページにスペースが埋め込まれたタイトルがあるという追加のハードルが発生したため、これをコーディングすることになりました。

<?php echo str_replace(' ','-',trim(wp_title('',false))); ?>
于 2010-07-14T20:33:33.397 に答える
1

ここにいくつかの種類を入れるだけです:trim

 <body id="<?=trim(wp_title('', false));?>">
于 2009-07-09T01:06:48.390 に答える
0

これを functions.php に追加します

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

魅力のように動作するはずです

于 2010-11-06T15:28:37.953 に答える