2009-12-13 7 views
3

J'ai une fonction qui est accrochée aux tâches cron planifiées de WordPress, qui passe par certains flux RSS et ajoute des liens.Comment ajouter des liens WordPress/bookmarks par programme?

Je n'arrive pas à trouver une fonction qui va ajouter les liens pour moi, donc je dois les écrire moi-même en utilisant $wpdb. Le seul problème est alors que wp_list_bookmarks() ne les reconnaîtra pas parce que je n'ai pas de relation entre le lien et la catégorie de lien (que j'ai compris qui a quelque chose à voir avec les tables wp_term_relationships et wp_term_taxonomy.)

Voici ce que le code de requête faire jusqu'à présent (ce qui apparemment fonctionne pas):

$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."'"); 

Mais je ne peux pas comprendre comment faire ce travail, tout le monde sait d'autre comment programatically ajouter des liens

Répondre

4

wp_insert_link() est ce que vous voulez. C'est dans wp-admin/includes/bookmark.php

Nous avons rebondi sur ce qu'il faut nommer les liens. Blogroll, signets, liens, etc - ergo la discordance de nommage.

+0

Fantastique! Mais où puis-je définir la catégorie de lien? Pour autant que je vois, la fonction vérifie si '$ linkcategory' est défini, mais la fonction ne prendra pas la catégorie de lien, ou est-ce que je peux juste fournir la catégorie de lien dans le tableau de données de lien? –

+0

'Erreur fatale: appel à la fonction indéfinie wp_insert_link()'. J'utilise WP 2.9b1. –

1

cette est une question intéressante, je n'ai pas trouvé de "add_bookmarks" par exemple dans Référence de la fonction Wordpress.

Pour atteindre votre objectif, je voudrais lire get_bookmarks source code pour comprendre exactement comment les tables sont implémentées et écrire une fonction (add_bookmark par exemple) dans functions.php. Je crois que si vous créez cette fonction, vous devriez entrer en contact avec les développeurs Wordpress car c'est quelque chose d'intéressant à ajouter au noyau Wordpress dans les prochaines versions.

+0

Si cela fonctionne, je le ferai savoir. Merci! :) –

Questions connexes