Filter hook 'pre_{$field}'

in WP Core File wp-includes/bookmark.php at line 440

View Source

pre_{$field}

Filter Hook
Description
Sanitizes a bookmark field. Sanitizes the bookmark fields based on what the field name is. If the field has a strict value set, then it will be tested for that, else a more generic filtering is applied. After the more strict filter is applied, if the `$context` is 'raw' then the value is immediately return. Hooks exist for the more generic cases. With the 'edit' context, the {@see 'edit_$field'} filter will be called and passed the `$value` and `$bookmark_id` respectively. With the 'db' context, the {@see 'pre_$field'} filter is called and passed the value. The 'display' context is the final context and has the `$field` has the filter name and is passed the `$value`, `$bookmark_id`, and `$context`, respectively. / function sanitize_bookmark_field( $field, $value, $bookmark_id, $context ) { $int_fields = array( 'link_id', 'link_rating' ); if ( in_array( $field, $int_fields, true ) ) { $value = (int) $value; } switch ( $field ) { case 'link_category': // array( ints ) $value = array_map( 'absint', (array) $value ); /* We return here so that the categories aren't filtered. The 'link_category' filter is for the name of a link category, not an array of a link's link categories.

Hook Information

File Location wp-includes/bookmark.php View on GitHub
Hook Type Filter
Line Number 440

Hook Parameters

Type Name Description
string $field The bookmark field.
mixed $value The bookmark field value.
int $bookmark_id Bookmark ID.
string $context How to filter the field value. Accepts 'raw', 'edit', 'db', 'display', 'attribute', or 'js'. Default 'display'.

Usage Examples

Basic Usage
<?php
// Hook into pre_{$field}
add_filter('pre_{$field}', 'my_custom_filter', 10, 4);

function my_custom_filter($field, $value, $bookmark_id, $context) {
    // Your custom filtering logic here
    return $field;
}

Source Code Context

wp-includes/bookmark.php:440 - How this hook is used in WordPress core
<?php
 435  		} else {
 436  			$value = esc_attr( $value );
 437  		}
 438  	} elseif ( 'db' === $context ) {
 439  		/** This filter is documented in wp-includes/post.php */
 440  		$value = apply_filters( "pre_{$field}", $value );
 441  	} else {
 442  		/** This filter is documented in wp-includes/post.php */
 443  		$value = apply_filters( "{$field}", $value, $bookmark_id, $context );
 444  
 445  		if ( 'attribute' === $context ) {

PHP Documentation

<?php
/**
 * Sanitizes a bookmark field.
 *
 * Sanitizes the bookmark fields based on what the field name is. If the field
 * has a strict value set, then it will be tested for that, else a more generic
 * filtering is applied. After the more strict filter is applied, if the `$context`
 * is 'raw' then the value is immediately return.
 *
 * Hooks exist for the more generic cases. With the 'edit' context, the {@see 'edit_$field'}
 * filter will be called and passed the `$value` and `$bookmark_id` respectively.
 *
 * With the 'db' context, the {@see 'pre_$field'} filter is called and passed the value.
 * The 'display' context is the final context and has the `$field` has the filter name
 * and is passed the `$value`, `$bookmark_id`, and `$context`, respectively.
 *
 * @since 2.3.0
 *
 * @param string $field       The bookmark field.
 * @param mixed  $value       The bookmark field value.
 * @param int    $bookmark_id Bookmark ID.
 * @param string $context     How to filter the field value. Accepts 'raw', 'edit', 'db',
 *                            'display', 'attribute', or 'js'. Default 'display'.
 * @return mixed The filtered value.
 */
function sanitize_bookmark_field( $field, $value, $bookmark_id, $context ) {
	$int_fields = array( 'link_id', 'link_rating' );
	if ( in_array( $field, $int_fields, true ) ) {
		$value = (int) $value;
	}

	switch ( $field ) {
		case 'link_category': // array( ints )
			$value = array_map( 'absint', (array) $value );
			/*
			 * We return here so that the categories aren't filtered.
			 * The 'link_category' filter is for the name of a link category, not an array of a link's link categories.
			 */
Quick Info
  • Hook Type: Filter
  • Parameters: 4
  • File: wp-includes/bookmark.php
Related Hooks

Related hooks will be displayed here in future updates.