Aggiungo che non vedo una soluzione a questo evidente bug di Joomla. Se infatti è abbastanza semplice intervenire col css per disabilitare i link oppure intervenire sul codice in override e inserire un controllo sullo stato e la data di pubblicazione, come ho provato in alcuni test fatti sul blog.php aggiungendo un filtro e lavorando di layout, la situazione si complica notevolmente se si prevedono più viste blog e liste come ho fatto io, senza un controllo contemporaneo sulla login. Perché se è normale che un registrato veda i suoi scaduti per esempio, non lo è affatto che li vedano tutti.
A volte vorrei essere nella testa degli sviluppatori di Joomla, che da un anno ci stressano con un aggiornamento dietro l'altro e che forse prima di aggiornare dovrebbero mettersi a provare a sviluppare siti: ho fatto tutta la trafila dalla 3.6 alla 3.4.3 e ora mi guardo bene dall'aggiornare alla 3.4.4 senza essere sicuro di cosa realmente fa e come.
Pensando che possa essere utile aggiungo il filtro su stato e data, da inserire nel foreach, chi vuole può provare a divertirsi:
<!-- controllo se lo stato è pubblicato e non scaduto -->
<?php if ($item->state == 1) : ?>
<?php if ((strtotime($item->publish_down) > strtotime(JFactory::getDate())) or $item->publish_down == '0000-00-00 00:00:00') : ?>
<!-- fine controllo -->