The pre_link_description
filter allows you to do modify a link’s description before it is saved into the database.
It is evaluated in sanitize_bookmark_field()
under the db
context, which is used in wp_insert_link()
in the wp-admin/includes/bookmark.php file.
You should run any string text you return via this filter through esc_attr()
as it’s used in the link’s title attribute. See the note below about slashing link data.
pre_link_description
accepts a single argument in the form of a string containing the link description/title attribute.
Side note: Link data coming out of the database via wp_insert_link()
is unslashed via wp_unslash()
in 3.6+ (stripslashes_deep()
in older versions) but the data going in will automatically be slashed via mysql_real_escape_string()
in the $wpdb->insert|prepare
methods (thanks Rarst for the assist!). In other words, this is a case where Core handles slashing the data for you.
Example:
Let’s say you run a site that still actively uses the Link Manager to build a blog roll or links list, and let’s say you want to subtly indicate when a link was last edited. The following replaces the link description with the last-edited date and time which is then saved in the database.
View the code example on Gist.
Have a suggested improvement? You can fork the Gist and comment back with the link. If all is agreeable, I’ll merge in your changes. Crowd-sourced documentation FTW!