我正在一个 buddypress 网站上工作,在该网站上,会员可以发布出现在会员目录中的广告,前提是他们还为其设置了到期日期。这两个字段都只是扩展配置文件字段;广告是一个文本区域,到期日期当然是一个日期选择器。
在我的主题中,在 members-loop.php 循环中,我有以下代码:
// This one works
<?php $ad = bp_get_member_profile_data('field=Member Directory Ad'); ?>
// This one doesn't
<?php $ad_expiry = bp_get_member_profile_data('field=Member Directory Ad Expiration'); ?>
没有其他特殊代码可以实现这一点。我看不出为什么 $ad_expiry 对于肯定设置了它的成员是空白的,尤其是当 $ad 具有正确的值时。
深入研究 buddypress 代码,bp_get_member_profile_data() 没有返回我的扩展配置文件日期框数据。在 xprofile_format_profile_field() 内部,值被 bp_format_time() “格式化”,输出为空。所以我猜这是一个buddypress错误。