Как удалить пустые теги, оставленные ‹the_date› в Wordpress

Wordpress не поддерживает добавление стилей в the_date, как это делает wp_nav_menu, поэтому нам нужно кодировать стиль вне функции.

Хотя удобно, что the_date будет отображаться только один раз в день, однако он оставляет пустые теги в коде, которые могут испортить макет, особенно поля/отступы.

После поиска решений лучший вариант — написать функцию в файле function.php темы, которая подключается к the_content, вот что я придумал:

    function remove_empty_date($string)
    {
    $string = str_replace('/<small class="date">\s*</small>/', '',$string);
    return $string;
    }
    add_filter('the_content','remove_empty_date');

Виновником является <small class="date"></small>, который проявляется на странице как поле в стиле даты без даты.

Если нет лучшего решения, чем приведенное выше, то где код пошел не так, чтобы он не удалял ненужную строку?

Обновление: ложная тревога, Wordpress поддерживает добавление тегов из вызовов функций, http://codex.wordpress.org/Function_Reference/the_date.


person willio    schedule 14.01.2013    source источник
comment
Не могли бы вы проверить длину $string, и если она не длиннее, то она будет пустой, если она просто вернет false?   -  person ninja    schedule 14.01.2013
comment
Я не понимаю, что ты имеешь в виду. Длину строки можно сопоставить, но разве это не превзойдет цель этой функции? Цель состоит в том, чтобы удалить тег даты + обертки, что на самом деле должно было быть работой Wordpress.   -  person willio    schedule 14.01.2013


Ответы (1)


Решение: добавьте тег из функции:

Из: http://codex.wordpress.org/Function_Reference/the_date

<?php the_date( $format, $before, $after, $echo ); ?> 
person willio    schedule 15.01.2013