wp_update_link( array $linkdata ): int|WP_Error

In this article

Updates a link in the database.


Link data to update. See wp_insert_link() for accepted arguments.
More Arguments from wp_insert_link( … $linkdata )Elements that make up the link to insert.
  • link_id int
    Optional. The ID of the existing link if updating.
  • link_url string
    The URL the link points to.
  • link_name string
    The title of the link.
  • link_image string
    Optional. A URL of an image.
  • link_target string
    Optional. The target element for the anchor tag.
  • link_description string
    Optional. A short description of the link.
  • link_visible string
    Optional. 'Y' means visible, anything else means not.
  • link_owner int
    Optional. A user ID.
  • link_rating int
    Optional. A rating for the link.
  • link_rel string
    Optional. A relationship of the link to you.
  • link_notes string
    Optional. An extended description of or notes on the link.
  • link_rss string
    Optional. A URL of an associated RSS feed.
  • link_category int
    Optional. The term ID of the link category.
    If empty, uses default link category.


int|WP_Error Value 0 or WP_Error on failure. The updated link ID on success.


function wp_update_link( $linkdata ) {
	$link_id = (int) $linkdata['link_id'];

	$link = get_bookmark( $link_id, ARRAY_A );

	// Escape data pulled from DB.
	$link = wp_slash( $link );

	// Passed link category list overwrites existing category list if not empty.
	if ( isset( $linkdata['link_category'] ) && is_array( $linkdata['link_category'] )
		&& count( $linkdata['link_category'] ) > 0
	) {
		$link_cats = $linkdata['link_category'];
	} else {
		$link_cats = $link['link_category'];

	// Merge old and new fields with new fields overwriting old ones.
	$linkdata                  = array_merge( $link, $linkdata );
	$linkdata['link_category'] = $link_cats;

	return wp_insert_link( $linkdata );



User Contributed Notes

You must log in before being able to contribute a note or feedback.