这是一个看似简单但实际上相当复杂的问题。如果你不想使用现有的插件,你必须编写自己的插件(从而了解更多php
由于这不是一个请写我的免费网站代码)。这是一个提纲。
首先,您需要select all the posts 超过90天且状态为“已发布”的作业类型。像这样:
$args = array(
\'post_type\' => \'job\',
\'date_query\' => \'XXX\',
\'post_status\' => \'published\',
\'nopaging\' => true );
$wpse251989_query = wp_query ($args);
在XXX,你需要写一个查询,选择90天前的日期(你不能只从今天减去90,因为如果不是4月,那会得到一个负值)。
现在,你必须loop 通过所有帖子,您可以检索并更改状态。
if ( $wpse251989_query->have_posts() ) {
while ( $wpse251989_query->have_posts() ) {
$wpse251989_query->the_post();
wp_update_post(array (\'post_status\' => \'pending\'));
}
}
如果您将此代码转储到
functions.php
它将在每次页面加载时执行。如果你有一个功能强大的服务器,你可以不受惩罚。你也可以把它放在一个条件后面,比如
is_admin
, 确保仅在管理员登录时执行。确保每天只执行一次的最安全方法是使用
cron job, 这将使您进入高级php领域。