После переезда на 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.
[:||||||:] Анекдот такой был :
«Стюардесса в салоне нового лайнера объявляет о то, что находится в самолете:
— На первой палубе — багаж, на второй — бар, на третьей — поле для гольфа, на четвертой бассейн.
И добавляет:
— А теперь, господа, пристегнитесь. Сейчас со всей этой фигней на борту мы попробуем взлететь.»