web-dev-qa-db-fra.com

Bon moyen de stocker du contenu et des paramètres pour un plugin RSS

Je construis un plug-in de lecteur RSS et j'aimerais avoir des conseils sur la manière de stocker les données et les paramètres de ce plug-in.

L'idée est de pouvoir entrer un ensemble de sources de flux et d'associer chacune de ces sources à une ou plusieurs catégories. Ainsi, vous pouvez avoir plusieurs catégories, par exemple. sports, la politique ayant chacun leurs propres sources d’aliments.

Donc par exemple:

  • Des sports
    • ESPN.com
    • Sportingnews.com

Lorsque les éléments de flux de ces sources de flux sont importés toutes les quelques heures via Cron, ils sont ensuite stockés en tant que types de publication personnalisés. Chaque élément de fil doit bien sûr être associé à la source de flux.

Lorsqu'il s'agit d'afficher des éléments de fil, le plugin utilisera cette logique:

  1. Vérifiez quelle catégorie est appelée (via shortcode)
  2. Vérifiez quelles sources de flux sont associées à cette catégorie
  3. Obtenir les éléments de fil associés aux sources de fil identifiées à l'étape 2

Je ne suis toujours pas sûr de la manière dont toutes ces données doivent être stockées.

Le plugin aura une page de paramètres et pour cela, je suis décidé à tout stocker dans la table wp_options.

Cependant, en ce qui concerne les sources, les catégories et les éléments d’alimentation, je ne comprends toujours pas comment les stocker au mieux.

Des suggestions sur la façon de faire ceci?

Je lisais des informations sur le plugin CPTonomies qui semble faire ce dont j'avais besoin, mais je veux que la fonctionnalité soit intégrée à ce plugin et je ne peux pas utiliser un autre plugin externe.

1
urok93
  1. Ajouter un type de message personnalisé appelé 'feed'
  2. Ajouter une taxonomie personnalisée pour 'feed' appelée 'feed_category'
  3. Comme vous l'avez mentionné, utilisez un type de publication personnalisé pour vos éléments de fil, par exemple 'feed_item'.
  4. Lorsque vous ajoutez un 'feed_item', ajoutez post_meta qui établit le lien entre 'feed' et 'feed_item'. Par exemple, update_post_meta( $item_id, 'feed', $feed_id );

Votre boucle peut parfaitement être utilisée avec la structure suggérée. À l'étape 3, vous interrogez toutes les publications avec post meta 'feed_id' = $feed_id.

Liens du Codex:

Pour obtenir les éléments de fil, utilisez le code suivant:

$category_id = 123;

$the_query = new WP_Query( array(
    'post_type' => 'feed',
    'feed_category' => $category_id
) );

$items = array();

while ( $the_query->have_posts() ) : $the_query->the_post();
    $feed_items = get_posts( array(
        'post_type' => 'feed_item',
        'meta_key' => 'feed_id',
        'meta_value' => $post->ID,
        'numberposts' => -1
    ) );

    $items = array_merge( $items, $feed_items );
endwhile;

wp_reset_postdata();

// now $items contains your feed items from the feeds in the feed_category with id 123
3
Jasper Denkers
  1. Enregistrez les paramètres globaux du plug-in dans la table d'options - update_option(), get_option() etc.
  2. Stocker le contenu dans la table des articles (sous forme d'articles/pages ordinaires ou de types d'articles personnalisés)
  3. Grouper/classer le contenu avec les taxonomies - wp_set_object_terms() etc.
  4. Stocker les paramètres spécifiques au contenu dans la table meta du tableau - update_post_meta(), get_post_meta() etc.
2
TheDeadMedic