在一段时间内暂时取消关联术语

时间:2016-04-08 作者:atwellpub

我正在寻找最好的方法,在“指定的时间量”内从术语中删除自定义post类型的post对象关联,然后在该时间到期时关联继续。

它还必须具有可扩展性,以防数千个协会处于“试用期”。

有人对如何实现这个想法有任何评论或想法吗?

Edit:

在评论中,我被要求提供更多的背景。

Context:

我在想,我的WordPress支持的电子邮件客户端可能会更好地服务于它的订阅者,让他们暂时将他们所属列表中的电子邮件通知静音,而不是硬退订。

电子邮件收件人可能不想完全取消订阅,而是将通知推迟一个月甚至一年,同时处理占用他们大部分时间的其他事情。

由于我的电子邮件通知列表由存储在自定义帖子类型中的用户提供支持,并且他们的列表关联由术语关联定义,因此我认为最好的方法是发明一个术语“无关联”缓存系统。

为了进一步定义这种理论情况的约束,我想假设我们必须使用WordPress core提供的挂钩来管理关联。也许是“心跳”钩。

如果没有其他人能想到用核心挂钩实现这一点的另一种方法,那么另一种选择是使用定制的、非WP核心的、插件驱动的cron服务挂钩来为服务提供动力。

1 个回复
最合适的回答,由SO网友:Nathan Powell 整理而成

我认为,由于用户是CPT,因此非常适合在post_meta 在用户上。您可以将临时取消订阅的期限存储在那里,并在发送通知时进行检查。

例如,您的post_meta 可以是这样的数组:

subscribed_list_term => "maybe_cool_for_summer_list_term", subscription_duration => "halted_during_all_seasons_but_summer"

显然,这是抽象的,但有一种逻辑可以建立在这个想法的基础上。

相关推荐

GET_THE_TERMS与wp_GET_POST_TERMS中的奇怪结果

我正在尝试制作一个面包屑函数,但有一个小问题。。。使用时:$categories = get_the_terms( $post->ID, \'product_cat\' ); 我得到了一个循环中使用的类别数组,等等。唯一的问题是它是按字母顺序排列的。(我希望它按层次顺序排列。)经过一番挖掘,我发现了一种替代方法,即使用wp\\u get\\u post\\u terms(),但我肯定遗漏了一些东西,因为当我使用此方法时:$categories = wp_get_post_terms( $p