После переезда на Amazon новая тема оформления не отображала дату публикации постов на главной странице:
Неудобно самому, неудобно посетителям. Хотя сама тема мне очень нравится.
Берем в руки Google и ищем, например, по запросу «wordpress display post pub date«.
В первых результатах — попадается ссылка на WordPres Codex с описанием функции the_date(), у которой в примечании упоминается функция get_the_date().
Так как в полной версии поста — дата есть, значит — тема ее отображать умеет.
Ищем:
# grep -r get_the_date wp-content/themes/iconic-one/ wp-content/themes/iconic-one/content.php: <?php echo get_the_date(); ?> wp-content/themes/iconic-one/archive.php: printf( __( 'Daily Archives: %s', 'themonic' ), '<span>' . get_the_date() . '</span>' ); wp-content/themes/iconic-one/archive.php: printf( __( 'Monthly Archives: %s', 'themonic' ), '<span>' . get_the_date( _x( 'F Y', 'monthly archives date format', 'themonic' ) ) . '</span>' ); wp-content/themes/iconic-one/archive.php: printf( __( 'Yearly Archives: %s', 'themonic' ), '<span>' . get_the_date( _x( 'Y', 'yearly archives date format', 'themonic' ) ) . '</span>' ); wp-content/themes/iconic-one/image.php: esc_attr( get_the_date( 'c' ) ), wp-content/themes/iconic-one/image.php: esc_html( get_the_date() ), wp-content/themes/iconic-one/functions.php: esc_attr( get_the_date( 'c' ) ), wp-content/themes/iconic-one/functions.php: esc_html( get_the_date() )
Находим <div>, который отвечает за заголовки постов:
Ищем entry-header в файлах темы:
# grep -r entry-header wp-content/themes/iconic-one/ wp-content/themes/iconic-one/content.php: <header class="entry-header"> wp-content/themes/iconic-one/content.php: </header><!-- .entry-header --> wp-content/themes/iconic-one/index.php: <header class="entry-header"> wp-content/themes/iconic-one/index.php: <header class="entry-header"> wp-content/themes/iconic-one/image.php: <header class="entry-header"> wp-content/themes/iconic-one/image.php: </header><!-- .entry-header -->
Редактируем wp-content/themes/iconic-one/content.php, и находим class="entry-header":
...
<header class="entry-header">
<?php if ( is_single() ) : ?>
<h1 class="entry-title"><?php the_title(); ?></h1>
<?php else : ?>
<h2 class="entry-title">
<a href="<?php the_permalink(); ?>" title="<?php echo esc_attr( sprintf( __( 'Permalink to %s', 'themonic' ), the_title_attribute( 'echo=0' ) ) ); ?>" rel="bookmark"><?php the_title(); ?></a>
</h2>
<?php endif; // is_single() ?>
...
Строка «<?php if ( is_single() ) : ?>» говорит сама за себя — если страница single (полная версия поста) — то отображаем дату, иначе — только заголовок.
Добавляем вызов <?php echo get_the_date(); ?> после <?php else : ?>:
...
<h2 class="entry-title">
<a href="<?php the_permalink(); ?>" title="<?php echo esc_attr( sprintf( __( 'Permalink to %s', 'themonic' ), the_title_attribute( 'echo=0' ) ) ); ?>" rel="bookmark"><?php the_title(); ?></a>
</h2>
<?php echo get_the_date(); ?>
<?php endif; // is_single() ?>
...
Получилось вот такое:
Готово.
P.S.
[:||||||:] Анекдот такой был :
«Стюардесса в салоне нового лайнера объявляет о то, что находится в самолете:
— На первой палубе — багаж, на второй — бар, на третьей — поле для гольфа, на четвертой бассейн.
И добавляет:
— А теперь, господа, пристегнитесь. Сейчас со всей этой фигней на борту мы попробуем взлететь.»


