使用get_site_url()删除我的所有硬编码URL

时间:2014-03-21 作者:Kimberley Furson

在我的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/ )

1 个回复
最合适的回答,由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\');

结束