Çok geniş bir konu değil gayet basit. file_put_contents ile alakası yok konunun. Aşağıdaki verdiğim kod ve mantık ile rahatlıkla yapabilirsiniz. Tabiki bu kodun çalışması için en azından yönetim paneline gün içerisinde giriş yapmanız gerekiyor.
Yazının yazıldığı tarihi wordpress veritabanında yer alıyor. siz o veriyi çekerek aşağıdaki gibi işlem yapmalısınız.
date_default_timezone_set('Europe/Istanbul');

$otomatikyayintarihi= date('d.m.Y H:i:s', time() + 1800); // 1800 saniye cinsindendir. ne kadar uzun olmasını istiyorsanız oraya istediğiniz süreyi yazabilirsınız. otomatik yayın tarihini de aynı tabloya sütun açarak ekleyebilirsınız.

$suankitarih= date('d.m.Y H:i:s');

if ($suankitarih > $otomatikyayintarihi) {

// buraya veritabanında yazının durumunu update edecek kodları yazacaksınız.

}else {

}
İnşallah anlayacağınız şekilde anlatabilmişimdir.