我正在构建一个RSS阅读器插件,我想了解一些关于如何存储该插件的数据和设置的建议。
其想法是能够输入一组提要源,并将其中的每一个源与一个或多个类别相关联。因此,您可以有多个类别,例如体育、政治,每个类别都有自己的关联提要源。
例如:
ESPN体育频道。com体育新闻。com当每隔几个小时通过Cron导入来自这些源的源的源项目时,它们将存储为自定义post类型。当然,每个提要项都必须与提要源相关联。
在显示提要项时,插件将使用以下逻辑:
检查正在调用哪个类别(通过快捷码)检查哪些源与该类别关联获取与步骤2中标识的源关联的源项目我仍然不确定所有这些数据需要如何存储。
插件将有一个设置页面,为此我决定将所有内容存储在wp\\u选项表中。
然而,当谈到提要源、类别和提要项时,我仍然不知道如何最好地存储它们。
有什么建议吗?
我一直在阅读关于CPTonomies插件的文章,它似乎可以满足我的需要,但我希望这个插件内置功能,我不能使用其他外部插件。
最合适的回答,由SO网友:Jasper Denkers 整理而成
添加一个名为\'feed\'
为名为\'feed_category\'
如您所述,为您的提要项目使用自定义帖子类型,例如\'feed_item\'
添加时\'feed_item\'
, 添加post\\u meta,使\'feed\'
和\'feed_item\'
. 例如update_post_meta( $item_id, \'feed\', $feed_id );
使用我建议的结构时,可以完美地使用循环。在步骤3中,您使用post meta查询所有帖子\'feed_id\' = $feed_id
.
法典链接:
要获取提要项,请使用以下代码:
$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