首先,让我们清理您的代码:
<?php $wptitle = the_title(); $wptitle = str_replace(\'&\', \'and\', $wptitle);?><?php echo $wptitle; ?>
让我们删除PHP标记垃圾邮件,并将内容放在整洁的行中:
<?php
$wptitle = the_title();
$wptitle = str_replace(\'&\', \'and\', $wptitle);
echo $wptitle;
?>
现在如果我们看看这个问题,
the_title
, 该函数输出标题,不返回任何内容。这意味着
$wptitle
为空,因此字符串替换不会执行任何操作。
你需要告诉它归还它,否则它就不会知道,计算机和人不一样,需要明确地告诉他们在没有任何假设的情况下该做什么。
然而,一个快速的谷歌the_title
brings up the codex as the first entry, 随着a related function get_the_title
这会解决你的问题。阅读文档说明此函数采用以下参数:
<?php the_title( $before, $after, $echo ); ?>
所以你可以改变
$wptitle = the_title();
对此:
$wptitle = the_title( \'\',\'\',false );
或者这个:
$wptitle = get_the_title();
还有一种更好的方法可以用于涉及过滤器:
add_filter( \'the_title\', \'drabello_swap_ampersands\' );
function drabello_swap_ampersands( $old_title ) {
$new_title = // do the replacement..
return $new_title;
}