メンバーが有効期限を設定していれば、メンバーがメンバーディレクトリに表示される広告を投稿できる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の値が正しい場合、$ad_expiryが確実に設定されているメンバーにとって$ad_expiryが空白である理由はわかりません。
buddypressコードを掘り下げてみると、拡張プロファイルの日付ボックスデータがbp_get_member_profile_data()によって返されていません。xprofile_format_profile_field()内では、値はbp_format_time()によって「フォーマット」されており、出力は空です。だから私はそれがbuddypressのバグだと思います。