在我的php文件中,我想删除所有硬编码的URL(例如:http://mysite.com/) 并将其替换为get_site_url()
作用
我的问题是,我的一个函数(在functions.php中)的php代码添加了_blank
属性指向除内部URL之外的我的网站的所有链接。
function autoblank($text) {
$return = str_replace(\'href=\', \'target="_blank" href=\', $text);
$return = str_replace(
\'target="_blank" href="http://localhost.com/test/\',
\'href="http://localhost.com/test/\',
$return
);
$return = str_replace(\'target="_blank" href="#\', \'href="#\', $return);
return $return;
}
add_filter(\'the_content\', \'autoblank\');
add_filter(\'comment_text\', \'autoblank\');
如何替换
http://localhost.com/test/
使用
get_site_url()
那么这个代码适用于任何网站?(不仅仅是
http://localhost.com/test/
)
最合适的回答,由SO网友:kraftner 整理而成
实际上你已经非常接近了:
function autoblank($text) {
$return = str_replace(\'href=\', \'target="_blank" href=\', $text);
$return = str_replace(
\'target="_blank" href="\' . get_site_url(),
\'href="\' . get_site_url(),
$return
);
$return = str_replace(\'target="_blank" href="#\', \'href="#\', $return);
return $return;
}
add_filter(\'the_content\', \'autoblank\');
add_filter(\'comment_text\', \'autoblank\');