How add WordPress links/bookmarks programmatically?

I have a function that is hooked to WordPress’ scheduled cron jobs, that goes through some RSS feeds and adds links.

I can’t seem to find a function that will add the links for me, so I have to write them myself using $wpdb. The only problem then is that wp_list_bookmarks() won’t recognize them because I don’t have a relationship between the link and the link category (which I’ve understand that has something to do with the wp_term_relationships and wp_term_taxonomy tables to do.

Read More

Here’s what the query code do so far (which apparently not work):

$wpdb->query("INSERT INTO ".$wpdb->prefix."links (link_url, link_name, link_updated) VALUES ('".mysql_real_escape_string($item->get_permalink())."', '".mysql_real_escape_string($item->get_title())."', '".date('Y-m-d H:i:s')."')");
$last_insert_id = $wpdb->insert_id;
$wpdb->query("INSERT INTO ".$wpdb->prefix."term_relationships VALUES ('".$last_insert_id."', '".$category_id."', '0'");
$wpdb->query("UPDATE ".$wpdb->prefix."term_taxonomy SET count = count+1 WHERE term_id = '".$category_id."'");

But I can’t figure out how to make this work, anyone else knows how to programmatically add links?

Related posts

Leave a Reply

2 comments

  1. wp_insert_link() is what you want. It’s in wp-admin/includes/bookmark.php

    We’ve bounced around on what to name links. Blogroll, Bookmarks, Links, etc — ergo the naming mismatch.

  2. This is an interesting question. I didn’t find an “add_bookmarks” for example in WordPress function reference.

    To accomplish your goal, I would read get_bookmarks source code to understand exactly how are the tables implemented and write a function (add_bookmark for example) in functions.php.

    I do believe that if you create this function you should get in touch with WordPress developers since it’s something interesting to add to WordPress core in next versions.