我有一个自定义字段(称为"网站"),用户将网站输入到其URL.我的PHP代码如下
<div class="profileInfo">
<h4 class="website">Website:</h4>
<?php if ( get_post_meta($post->ID, 'website', true)) { ?>
<p><a href="http://<?php echo get_post_meta($post->ID, 'website', true) ?>"><?php echo get_post_meta($post->ID, 'website', true) ?></a></p>
<?php } else { ?>
<p class="na">no email provided</p>
<?php } ?>
</div>
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我在URL前面加上http://
所以我的问题是,当用户在自定义字段中输入http://www.example.com等网址时,它无法正确链接到网站.URL在前端http // www.example.com上看起来像这样
奇怪的是冒号:被剥离或取出所以URL不起作用!我认为这与两个http://有关
现在,我尝试从PHP代码中删除http://
<p><a href="<?php echo get_post_meta($post->ID, 'website', true) ?>"><?php echo get_post_meta($post->ID, 'website', true) ?></a></p>
因此,假设用户现在将www.example.com输入到自定义字段并发布该条目.网址现在去了
http://mysite.com/www.example.com
它尝试将URL构建到我当前的网站页面中.不知道为什么它不把它当作URL.
寻找一些帮助如何在PHP中正确编写此代码.
谢谢
<?php
if ( get_post_meta($post->ID, 'website', true))
{
$link = get_post_meta($post->ID, 'website', true);
$link = str_replace(array('http://','https://'), array('',''), $link);
?><p><a href="http://<?=$link?>"><?=$link?></a></p><?php
}
else
{
?><p class="na">no email provided</p><?
}
?>
Run Code Online (Sandbox Code Playgroud)
这将替换url中的所有http://.
| 归档时间: |
|
| 查看次数: |
1016 次 |
| 最近记录: |