WordPress Version: 6.1
/**
* Displays 'checked' checkboxes attribute for XFN microformat options.
*
* @since 1.0.1
*
* @global object $link Current link object.
*
* @param string $xfn_relationship XFN relationship category. Possible values are:
* 'friendship', 'physical', 'professional',
* 'geographical', 'family', 'romantic', 'identity'.
* @param string $xfn_value Optional. The XFN value to mark as checked
* if it matches the current link's relationship.
* Default empty string.
* @param mixed $deprecated Deprecated. Not used.
*/
function xfn_check($xfn_relationship, $xfn_value = '', $deprecated = '')
{
global $link;
if (!empty($deprecated)) {
_deprecated_argument(__FUNCTION__, '2.5.0');
// Never implemented.
}
$link_rel = isset($link->link_rel) ? $link->link_rel : '';
// In PHP 5.3: $link_rel = $link->link_rel ?: '';
$link_rels = preg_split('/\s+/', $link_rel);
// Mark the specified value as checked if it matches the current link's relationship.
if ('' !== $xfn_value && in_array($xfn_value, $link_rels, true)) {
echo ' checked="checked"';
}
if ('' === $xfn_value) {
// Mark the 'none' value as checked if the current link does not match the specified relationship.
if ('family' === $xfn_relationship && !array_intersect($link_rels, array('child', 'parent', 'sibling', 'spouse', 'kin'))) {
echo ' checked="checked"';
}
if ('friendship' === $xfn_relationship && !array_intersect($link_rels, array('friend', 'acquaintance', 'contact'))) {
echo ' checked="checked"';
}
if ('geographical' === $xfn_relationship && !array_intersect($link_rels, array('co-resident', 'neighbor'))) {
echo ' checked="checked"';
}
// Mark the 'me' value as checked if it matches the current link's relationship.
if ('identity' === $xfn_relationship && in_array('me', $link_rels, true)) {
echo ' checked="checked"';
}
}
}