Na jednej z grup na FB Artur opisał następujący problem:
Mam na swoim blogu szablon i wszystko byłoby w porządku gdyby nie problem z datą – wyświetla mi ją jako MM.DD.RRRR, a chciałbym by pokazywało ją po naszemu. W opcjach mam ustawione wyświetlanie daty na „3 listopada 2015”.
Szybka analiza motywu ujawniła, że na format daty, podany jest na sztywno w jednym z plików motywu w taki sposób: get_the_date('m.d.Y');. Dokładne sprawdzenie wykluczyło możliwość stworzenia w prosty sposób motywu potomnego, bo zaciąganie pliku nie jest zrobione w zalecany dla motywu potomnego sposób.
Co można zrobić w takiej sytuacji?
Można wytworzyć motyw potomny i podmienić odpowiednie pliki, ale tak jak pisałem wcześniej ten motyw trzeba by prawie cały skopiować, albo przynajmniej zrobić to w dośc paskudny sposób.
Nie poddaję się jednak i szukam innego sposobu. Okazuje się, że moje ulubione akcje i filtry i w tym przypadku dadzą sobie bez kłopotu radę. Zastosowałem filtr get_the_date1, który pozwala na całkowitą podmianę wyświetlanej daty. Niestety nie ma filtra pozwalającego na wymuszenia formatu daty, więc musimy sami taką datę wpisać.
add_filter('get_the_date', 'iworks_get_the_date', 10, 3);
function iworks_get_the_date($the_date, $d, $post)
{
return mysql2date( get_option( 'date_format' ), $post->post_date );
}
pobierz plik: iworks-force-set-date-format.php
Jak użyć podany kod?
Masz 3 rozwiązania:
wrzuć załączony plik do folderu wp-content/plugins, a potem włącz wtyczkę
wrzuć załączony plik do folderu wp-content/mu-plugins
dołącz kod do pliku functions.php aktualnie używanego motywu
Comments