Wordpress PHP函数中似乎存在一个错误,它在<?php echo wp_title(''); ?>
生成的页面标题前面留下了空白。我已经通过WordPress文档和论坛上没有任何运气了。< / p>
我正在以<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形符号 - 当选项为false时应该被删除,并且它们是,但是空白区域被转储。
有核选择吗?
答案 0 :(得分:37)
从标题的左端删除所有空格:
<?php echo ltrim(wp_title('')); ?>
从两端剥去所有空格:
<?php echo trim(wp_title('')); ?>
从标题左端删除所有空格:
<?php echo ltrim(wp_title(''), ' '); ?>
删除第一个空格,即使它不是第一个字符:
<?php echo str_replace(' ', '', wp_title(''), 1); ?>
在开头只删除一个空格(不是换行符,而不是制表符):
<?php echo preg_replace('/^ /', '', wp_title('')); ?>
剥去第一个角色,无论它是什么:
<?php echo substr(wp_title(''), 1); ?>
在Wordpress documentation on wp_title
中,wp_title
似乎显示标题本身,除非您为第二个参数传递false
,在这种情况下它会返回它。所以试试:
<?php echo trim(wp_title('', false)); ?>
答案 1 :(得分:10)
答案 2 :(得分:1)
ltrim($str)
答案 3 :(得分:1)
在这里提出一些变化:trim
<body id="<?=trim(wp_title('', false));?>">
答案 4 :(得分:1)
感谢您提供此信息!我在同一条船上,因为我需要根据页面标题为CSS目的生成页面ID,并且上述解决方案工作得非常好。
我最终遇到了一个额外障碍,因为有些页面的标题带有嵌入空格,所以我最终编码了这个:
<?php echo str_replace(' ','-',trim(wp_title('',false))); ?>
答案 5 :(得分:0)
将此添加到您的functions.php
add_filter('wp_title', create_function('$a, $b','return str_replace(" $b ","",$a);'), 10, 2);
应该像魅力一样工作