您可以将过期日期设置为post meta值。在里面single.php
您可以通过查询post meta轻松显示该日期。
看见update_post_meta() 和get_post_meta()
现在,你问题的第二部分相当棘手。我可以想出两种解决方案。
您可以使用wordpress cron每隔一段时间运行一次,以检查哪个帖子已过期,并将其删除/设置为
draft
/不管你想对那些帖子做什么。看见
wp_cron()Pros:
<很容易实现
Cons:
<如果没有人访问您的站点,cron任务将不会启动。(对于用户频繁的繁忙站点,这不是问题)
如果你有很多帖子,每隔一段时间检查每一篇帖子会有性能损失。
根本不可靠。帖子不会在指定的时间完全过期。
(我一直讨厌wp\\u cron(),我自己从来没有使用过它)
更好的选择是使用服务器上的cron任务。但即使这样,也不能确保过期后的准确时间,因为您必须以一定的时间间隔运行cron,而且还有性能损失。