Intereting Posts
Поле поиска пользовательского окна панели управления Попытка избежать включения wp-load.php Боковые 8 Таксономические изображения добавляют вопрос о сроках Пользовательские типы сообщений и template_redirect Измененные размеры носителей (в тире), а не обновление существующих изображений / сообщений Является ли функция форматирования sanitize_title_with_dys слишком либеральной (с точки зрения принятых символов)? Как изменить шрифты в теме Twenty Thirteen? Ошибка при установлении соединения с базой данных – после обновления DNS Как связать файл CSS только с отдельными сообщениями? Как получить сообщения по нескольким сообщениям? Принудительное повторение запроса Var на иерархической (вложенной) странице Как решить эту проблему, не смывая правила перезаписи для каждого запроса на отправку посетителей? Шаблон домашней страницы – определенная категория Функциональные ссылки Документирование шаблонов Тэги для использования в пользовательских шаблонах тем? Петля с перерывом в середине

Автоматически создавать новую страницу ежедневно с последними тремя сообщениями

Можно ли создать следующее:

  • Новая страница динамически ежедневно, содержащая последние три сообщения
  • Архивируйте эту страницу, чтобы страница завтрашнего дня была новой, с тремя новыми сообщениями

В основном я хотел бы использовать WordPress для наших выпусков новостей, мы публикуем три каждый день. Страница дня должна содержать все три истории, а затем архивироваться, чтобы можно было создать страницу на следующий день.

Если у вас есть идеи, как настроить что-то подобное, я был бы признателен.

Вы можете создать date.php (вы можете скопировать содержимое для этого из файла archive.php или index.php ) в папку темы, которая будет обрабатывать все «дневные» страницы …

<?php get_header(); ?> <div id="container"> <div id="content" role="main"> <?php $day = get_query_var('day'); $monthnum = get_query_var('monthnum'); $year = get_query_var('year'); if ( is_day() ) : ?> <a href="<?php echo get_day_link($year, $monthnum, $day-1); ?>">Previous day's posts</a> | <a href="<?php echo get_day_link(); ?>">This day's posts</a> <?php if ( mktime(0, 0, 0, $monthnum, $day, $year) < mktime(0, 0, 0) ) : ?> | <a href="<?php echo get_day_link($year, $monthnum, $day+1); ?>">Next day's posts</a> <?php endif; ?> <?php elseif ( is_month() ) : ?> <a href="<?php echo get_month_link($year, $monthnum-1); ?>">Previous month's posts</a> | <a href="<?php echo get_month_link(); ?>">This month's posts</a> <?php if ( mktime(0, 0, 0, $monthnum) < mktime(0, 0, 0) ) : ?> | <a href="<?php echo get_month_link($year, $monthnum+1); ?>">Next month's posts</a> <?php endif; ?> <?php elseif ( is_year() ) : ?> <a href="<?php echo get_year_link($year-1); ?>">Previous year's posts</a> | <a href="<?php echo get_year_link(); ?>">This year's posts</a> <?php if ( mktime(0, 0, 0, 0, 0, $year) < mktime(0, 0, 0, 0, 0) ) : ?> | <a href="<?php echo get_year_link($year+1); ?>">Next year's posts</a> <?php endif; ?> <?php endif; ?> <?php /* Queue the first post, that way we know * what date we're dealing with (if that is the case). * * We reset this later so we can run the loop * properly with a call to rewind_posts(). */ if ( have_posts() ) : the_post(); ?> <h1 class="page-title"> <?php if ( is_day() ) : ?> <?php printf( __( 'Daily Archives: <span>%s</span>' ), get_the_date() ); ?> <?php elseif ( is_month() ) : ?> <?php printf( __( 'Monthly Archives: <span>%s</span>' ), get_the_date( 'FY' ) ); ?> <?php elseif ( is_year() ) : ?> <?php printf( __( 'Yearly Archives: <span>%s</span>' ), get_the_date( 'Y' ) ); ?> <?php else : ?> <?php _e( 'Blog Archives', 'twentyten' ); ?> <?php endif; ?> </h1> <?php endif; ?> <?php /* Since we called the_post() above, we need to * rewind the loop back to the beginning that way * we can run the loop properly, in full. */ rewind_posts(); /* Run the loop for the archives page to output the posts. * If you want to overload this in a child theme then include a file * called loop-archive.php and that will be used instead. */ if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>> <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2> <div class="entry-summary"> <?php the_excerpt(); ?> </div><!-- .entry-summary --> <div class="entry-utility"> <?php if ( count( get_the_category() ) ) : ?> <span class="cat-links"> <?php printf( __( '<span class="%1$s">Posted in</span> %2$s' ), 'entry-utility-prep entry-utility-prep-cat-links', get_the_category_list( ', ' ) ); ?> </span> <span class="meta-sep">|</span> <?php endif; ?> <?php $tags_list = get_the_tag_list( '', ', ' ); if ( $tags_list ): ?> <span class="tag-links"> <?php printf( __( '<span class="%1$s">Tagged</span> %2$s' ), 'entry-utility-prep entry-utility-prep-tag-links', $tags_list ); ?> </span> <span class="meta-sep">|</span> <?php endif; ?> <span class="comments-link"><?php comments_popup_link( __( 'Leave a comment', 'twentyten' ), __( '1 Comment' ), __( '% Comments' ) ); ?></span> <?php edit_post_link( __( 'Edit' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?> </div><!-- .entry-utility --> </div><!-- #post-## --> <?php endwhile; ?> <?php else : ?> <h1 class="page-title">There are no posts for this date.</h1> <?php endif; ?> </div><!-- #content --> </div><!-- #container --> <?php get_sidebar(); ?> 

Этот пример также может обрабатывать страницы «месяц» и «год».

 http://wptest.dev/2011/04/23/ 

Мне может быть что-то упущено, но не могли бы вы просто перейти в Настройки-> Чтение-> Сообщения на страницу и установить его в 3 или 1? (Зависит от того, является ли каждый пресс-релиз отдельной записью или все они в 1 сообщении).

Если вы публикуете другие сообщения, которые не являются пресс-релизами (например, возможно, у вас также есть сообщения в блоге в их собственной категории), вы также можете создать категорию только для пресс-релизов, а затем создать собственный шаблон страницы и заменить цикл чем-то как это, в зависимости от темы:

 query_posts( array( 'cat' => 33, 'posts_per_page' => 3, 'paged' => get_query_var('paged') ) ); 

В этом примере «33» будет категорией, в которой находятся ваши пресс-релизы, – вам придется заменить это на ваш фактический номер категории. Затем вы просто создаете страницу в окне редактора сообщений, выбираете свой собственный шаблон страницы и публикуете.

Вы также можете либо удалить, либо настроить навигационные ссылки в файлах шаблонов тем также, если вас беспокоит «более старые сообщения» или «новые сообщения» внизу.

WordPress будет генерировать ежедневные архивы автоматически. Вы можете использовать wp_get_archives( ); и передать array('type' => 'daily') чтобы получить меню архива, разбитое по дням.

Если ваша тема не имеет шаблона archive.php, вы можете создать ее, и на приведенных выше страницах будет использоваться этот шаблон. is_day() будет возвращать true на ежедневных страницах архива, поэтому вы можете их разделить отдельно.