仅当字段已填写时才显示链接

Posted

技术标签:

【中文标题】仅当字段已填写时才显示链接【英文标题】:Only show link if the field has been filled 【发布时间】:2012-08-20 06:22:12 【问题描述】:

在我的 Wordpress 网站的作者页面上,我使用此代码显示作者的 twitter URL:

<a href=”http://twitter.com/<?php the_author_meta(‘twitter’); ?>” target=”_blank”>Twitter</a>

此代码的问题在于,即使用户未在其后端配置文件中填写 Twitter 字段,它仍会显示链接。我怎样才能让它只显示如果用户填写了他们的推特?

我认为一个基本的 PHP IF 语句将是解决方案?

【问题讨论】:

【参考方案1】:

简单。您可以使用get_the_author_meta 来获取meta 的值(而不是打印值的the_author_meta)。 然后,将其与 "" (empty string) 进行比较,如果它不为空 - 回显链接, 否则....,我们没有其他方法 - 它只是不会打印链接。

<?php if(get_the_author_meta('twitter') != ""): ?>
<a href="http://www.twitter.com/<?php the_author_meta('twitter'); ?>" target="_blank">Twitter</a>
<?php endif; ?>

【讨论】:

确实如此,请更新您的答案以添加结束 标记,我会接受它是正确的,非常感谢! 第二个注意事项,它似乎无法正常工作。 IF 语句有效,因此如果该字段未填写,则不会出现链接。但是,一旦填充,它就不会抓取 twitter 字段。这意味着 部分从不返回任何内容。你的代码有错别字吗? 更新了代码(更改了引号的类型),试试更新的代码并更新我 它现在工作正常,但是 url 变成: mydomain.com/"http://twitter.com/username" 我能想到的唯一解决方案是删除 A 标签中的双引号,它会修复它,您知道其他解决方案吗? 再次更新(又是那些奇怪的引号)。

以上是关于仅当字段已填写时才显示链接的主要内容,如果未能解决你的问题,请参考以下文章

仅当前一个字段已填写时才需要表单字段

如何查询具有相同字段的两个表,仅当字段值相同时才返回id

仅当字段在 asp.net mvc 中可见时才需要字段验证

仅当键盘覆盖输入字段时才向上移动视图

仅当记录通过数据修改而更新时才更新日期

仅当字段不为空时才进行电子邮件验证