xfn_check()WP 1.0.1

Displays 'checked' checkboxes attribute for XFN microformat options.

No Hooks.

Return

null. Nothing (null).

Usage

xfn_check( $xfn_relationship, $xfn_value, $deprecated );
$xfn_relationship(string) (required)
XFN relationship category. Possible values are: 'friendship', 'physical', 'professional', 'geographical', 'family', 'romantic', 'identity'.
$xfn_value(string)
The XFN value to mark as checked if it matches the current link's relationship.
Default: empty string
$deprecated(mixed)
Deprecated. Not used.
Default: ''

Notes

  • Global. Object. $link Current link object.

Changelog

Since 1.0.1 Introduced.

xfn_check() code WP 6.5.2

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"';
		}
	}
}