Title: WP_Widget_Links::form
Published: April 25, 2014
Last modified: February 24, 2026

---

# WP_Widget_Links::form( array $instance )

## In this article

 * [Parameters](https://developer.wordpress.org/reference/classes/wp_widget_links/form/?output_format=md#parameters)
 * [Source](https://developer.wordpress.org/reference/classes/wp_widget_links/form/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_widget_links/form/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_widget_links/form/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_widget_links/form/?output_format=md#wp--skip-link--target)

Outputs the settings form for the Links widget.

## 󠀁[Parameters](https://developer.wordpress.org/reference/classes/wp_widget_links/form/?output_format=md#parameters)󠁿

 `$instance`arrayrequired

Current settings.

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_widget_links/form/?output_format=md#source)󠁿

    ```php
    public function form( $instance ) {

    	// Defaults.
    	$instance  = wp_parse_args(
    		(array) $instance,
    		array(
    			'images'      => true,
    			'name'        => true,
    			'description' => false,
    			'rating'      => false,
    			'category'    => false,
    			'orderby'     => 'name',
    			'limit'       => -1,
    		)
    	);
    	$link_cats = get_terms( array( 'taxonomy' => 'link_category' ) );
    	$limit     = (int) $instance['limit'];
    	if ( ! $limit ) {
    		$limit = -1;
    	}
    	?>
    	<p>
    		<label for="<?php echo $this->get_field_id( 'category' ); ?>"><?php _e( 'Select Link Category:' ); ?></label>
    		<select class="widefat" id="<?php echo $this->get_field_id( 'category' ); ?>" name="<?php echo $this->get_field_name( 'category' ); ?>">
    			<option value=""><?php _ex( 'All Links', 'links widget' ); ?></option>
    			<?php foreach ( $link_cats as $link_cat ) : ?>
    				<option value="<?php echo (int) $link_cat->term_id; ?>" <?php selected( $instance['category'], $link_cat->term_id ); ?>>
    					<?php echo esc_html( $link_cat->name ); ?>
    				</option>
    			<?php endforeach; ?>
    		</select>
    		<label for="<?php echo $this->get_field_id( 'orderby' ); ?>"><?php _e( 'Sort by:' ); ?></label>
    		<select name="<?php echo $this->get_field_name( 'orderby' ); ?>" id="<?php echo $this->get_field_id( 'orderby' ); ?>" class="widefat">
    			<option value="name"<?php selected( $instance['orderby'], 'name' ); ?>><?php _e( 'Link title' ); ?></option>
    			<option value="rating"<?php selected( $instance['orderby'], 'rating' ); ?>><?php _e( 'Link rating' ); ?></option>
    			<option value="id"<?php selected( $instance['orderby'], 'id' ); ?>><?php _e( 'Link ID' ); ?></option>
    			<option value="rand"<?php selected( $instance['orderby'], 'rand' ); ?>><?php _ex( 'Random', 'Links widget' ); ?></option>
    		</select>
    	</p>

    	<p>
    		<input class="checkbox" type="checkbox"<?php checked( $instance['images'], true ); ?> id="<?php echo $this->get_field_id( 'images' ); ?>" name="<?php echo $this->get_field_name( 'images' ); ?>" />
    		<label for="<?php echo $this->get_field_id( 'images' ); ?>"><?php _e( 'Show Link Image' ); ?></label>
    		<br />

    		<input class="checkbox" type="checkbox"<?php checked( $instance['name'], true ); ?> id="<?php echo $this->get_field_id( 'name' ); ?>" name="<?php echo $this->get_field_name( 'name' ); ?>" />
    		<label for="<?php echo $this->get_field_id( 'name' ); ?>"><?php _e( 'Show Link Name' ); ?></label>
    		<br />

    		<input class="checkbox" type="checkbox"<?php checked( $instance['description'], true ); ?> id="<?php echo $this->get_field_id( 'description' ); ?>" name="<?php echo $this->get_field_name( 'description' ); ?>" />
    		<label for="<?php echo $this->get_field_id( 'description' ); ?>"><?php _e( 'Show Link Description' ); ?></label>
    		<br />

    		<input class="checkbox" type="checkbox"<?php checked( $instance['rating'], true ); ?> id="<?php echo $this->get_field_id( 'rating' ); ?>" name="<?php echo $this->get_field_name( 'rating' ); ?>" />
    		<label for="<?php echo $this->get_field_id( 'rating' ); ?>"><?php _e( 'Show Link Rating' ); ?></label>
    	</p>

    	<p>
    		<label for="<?php echo $this->get_field_id( 'limit' ); ?>"><?php _e( 'Number of links to show:' ); ?></label>
    		<input id="<?php echo $this->get_field_id( 'limit' ); ?>" name="<?php echo $this->get_field_name( 'limit' ); ?>" type="text" value="<?php echo ( -1 !== $limit ) ? (int) $limit : ''; ?>" size="3" />
    	</p>
    	<?php
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-includes/widgets/class-wp-widget-links.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/6.9.4/src/wp-includes/widgets/class-wp-widget-links.php#L125)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/6.9.4/src/wp-includes/widgets/class-wp-widget-links.php#L125-L187)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_widget_links/form/?output_format=md#related)󠁿

| Uses | Description | 
| [_ex()](https://developer.wordpress.org/reference/functions/_ex/)`wp-includes/l10n.php` |

Displays translated string with gettext context.

  | 
| [selected()](https://developer.wordpress.org/reference/functions/selected/)`wp-includes/general-template.php` |

Outputs the HTML selected attribute.

  | 
| [checked()](https://developer.wordpress.org/reference/functions/checked/)`wp-includes/general-template.php` |

Outputs the HTML checked attribute.

  | 
| [get_terms()](https://developer.wordpress.org/reference/functions/get_terms/)`wp-includes/taxonomy.php` |

Retrieves the terms in a given taxonomy or list of taxonomies.

  | 
| [_e()](https://developer.wordpress.org/reference/functions/_e/)`wp-includes/l10n.php` |

Displays translated text.

  | 
| [esc_html()](https://developer.wordpress.org/reference/functions/esc_html/)`wp-includes/formatting.php` |

Escaping for HTML blocks.

  | 
| [wp_parse_args()](https://developer.wordpress.org/reference/functions/wp_parse_args/)`wp-includes/functions.php` |

Merges user defined arguments into defaults array.

  |

[Show 3 more](https://developer.wordpress.org/reference/classes/wp_widget_links/form/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_widget_links/form/?output_format=md#)

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_widget_links/form/?output_format=md#changelog)󠁿

| Version | Description | 
| [2.8.0](https://developer.wordpress.org/reference/since/2.8.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_widget_links%2Fform%2F)
before being able to contribute a note or feedback.