Ссылка на дату

👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

Есть пост.Ниже заголовка есть дата (дд.мм.гггг). Надо чтобы при нажатии на «дд» открывалась страница с постами этого дня, на «мм» этого месяца и «гггг» года соответственно.

Думаю даже новички в php смогут мне помочь. Заранее спасибо

Создай свой первый сайт на WordPress

dronemo
Оцените автора
Добавить комментарий

  1. tiaurus

    Есть такая функция

     <?php get_day_link( $year, $month, $day ); ?> 

    Подробнее о ней написано тут: http://codex.wordpress.org/Function_Reference/get_day_link
    В ней в качестве аргументов присутствуют год, месяц и день. С помощью этой функции можно получить ссылку на посты за конкретный день:

    <?php $arc_year = get_the_time('Y'); ?>
    <?php $arc_month = get_the_time('m'); ?>
    <?php $arc_day = get_the_time('d'); ?>
    <a 0="" 1="echo" 2="get_day_link($arc_year," 3="$arc_month," 4="$arc_day);" 5="?" rel="nofollow">">Посты за сегодня</a>

    И есть функция, отображающая дату поста:

    <?php the_time('d M Y'); ?>

    Наверное можно использовать эти функции вместе для вывода ссылки на посты за ту же дату, которую имеет уже опубликованный пост. Для этого нужно в одиночной записи (single.php) вставить такой код:

    <?php $arc_year = the_time('Y'); ?>
    <?php $arc_month = the_time('m'); ?>
    <?php $arc_day = the_time('d'); ?>
    <a 0="" 1="echo" 2="get_day_link($arc_year," 3="$arc_month," 4="$arc_day);" 5="?" rel="nofollow">">Посты за эту дату</a>

    Можно текст «Посты за эту дату» поменять на дату:

    <?php $arc_year = the_time('Y'); ?>
    <?php $arc_month = the_time('m'); ?>
    <?php $arc_day = the_time('d'); ?>
    <a 0="" 1="echo" 2="get_day_link($arc_year," 3="$arc_month," 4="$arc_day);" 5="?" rel="nofollow">">архив за <?php the_time('d M Y'); ?></a>

    Вот этот код и можно использовать в качестве ссылки на посты, опубликованные той же датой, что и просматриваемый пост.

    Для вывода ссылки на посты, опубликованные этим же месяцом, можно использовать функцию

    <?php get_month_link( $year, $month ); ?>

    Код будет иметь такой вид:

    <?php $arc_year = get_the_time('Y'); ?>
    <?php $arc_month = get_the_time('m'); ?>
    <a 0="" 1="echo" 2="get_month_link($arc_year," 3="$arc_month);" 4="?" rel="nofollow">">архив за <?php the_time('F Y'); ?></a>

    Для вывода ссылки на посты, опубликованные этим же годом, можно использовать функцию

    <?php get_year_link( $year ); ?>

    Получится примерно так:

    <?php $arc_year = get_the_time('Y'); ?>
    <a 0="" 1="echo" 2="get_year_link($arc_year);" 3="?" rel="nofollow">">архив за <?php the_time('Y'); ?> год</a>

    Итоговый код будет иметь такую структуру:

    <?php $arc_year = get_the_time('Y'); ?>
    <?php $arc_month = get_the_time('m'); ?>
    <?php $arc_day = get_the_time('d'); ?>
    <a 0="" 1="echo" 2="get_day_link($arc_year," 3="$arc_month," 4="$arc_day);" 5="?" rel="nofollow">"><?php the_time('d'); ?></a> 
    <a 0="" 1="echo" 2="get_month_link($arc_year," 3="$arc_month);" 4="?" rel="nofollow">"><?php the_time('M'); ?></a> 
    <a 0="" 1="echo" 2="get_year_link($arc_year);" 3="?" rel="nofollow">"><?php the_time('Y'); ?></a>
    

    Проверил — работает.
    [img]http://dl.dropbox.com/u/2027201/Images/tiaurus-2010-12-19_202655.png[/img]

    Ответить
  2. dronemo

    Оппачки. Спасибо за развернутый ответ.Помогло!

    Ответить
  3. lelasarov

    Подскажите что за ошибка и как её исправить?
    PHP Warning: Missing argument 2 for get_day_link(), called in /home/vsarovru/public_html/wp-content/themes/supernews/acmethemes/library/breadcrumbs/breadcrumbs.php on line 798 and defined in /home/vsarovru/public_html/wp-includes/link-template.php on line 522

    Ответить