是否从_Author_meta中删除“http://”?

时间:2011-08-22 作者:AndrettiMilas

默认情况下,WordPress在用户在其配置文件中添加的URL前面打印http://

<?php the_author_meta(\'user_url\'); ?>
有没有人能给我提供默认情况下去掉这些URL“HTTP://”的代码?(虽然仍然是一个链接,不接触WP的后端…我想这可能是一个功能?)

2 个回复
最合适的回答,由SO网友:tollmanz 整理而成

假设作者的id为$author_id, 以下代码应该可以工作。当然,您可以使用它来创建自己的函数。

<?php $url = get_the_author_meta(\'user_url\', $author_id); ?>
<a href="<?php echo $url; ?>"><?php echo str_replace(\'http://\', \'\', $url);?></a>

SO网友:parrott

<?php
function get_the_user_url_printable( $author_id = false ) {

    if ( $author_id ) {
        $user_url = get_the_author_meta( \'user_url\', $author_id );
    } else {
        $user_url = get_the_author_meta( \'user_url\' );
    }

    if ( !$user_url ) {
        $user_url = get_author_posts_url( $author_id );
    }

    return preg_replace( \'/^(\\w+:)\\/*(.*)\\/$/\', \'$2\', $user_url );
}
?>
上述代码块。。。

符合WordPress CodexCoding Standards, 经ChrisAdams先生确认WordPress Coding Standards CodeSniffer规则集;

$author_id 如果在回路内;

  • 使用get_author_posts_url() 如果作者没有明确输入URL;

  • 对协议不可知(剥离http://, https://, git://, 甚至mailto:);

    根据请求,是一个函数。

  • 结束