Разработка сайтов на WordPress и фреймворке Yii2

Здесь Вы можете заказать полный пакет услуг по разработке сайта. Начиная от написания ТЗ до программирования на PHP, JavaScript и верстке.

Как подружить плагин Hide My Dates и тему Twentytwelve

Как подружить плагин Hide My Dates и тему Twentytwelve

Приветствую! С вами Павел. И в этой статье я расскажу вам о том, зачем нужно скрывать даты публикации постов и комментариев. А так же о том, как мне удалось подружить плагин «Hide My Dates» и тему «Twentytwelve», которую я использую на своем сайте.

Создавая свой первый сайт на WordPress, мне пришлось перечитать не мало статей касательно его самого и популярных к нему плагинов. И как-то само, собой попадалась информация затрагивающая тему СЕО. И вот, наткнулся я на статью посвященную датам, а так же том, что эти даты влияют на поисковую выдачу сайта при запросе в google (а возможно и в яндексе, тут я не в курсе). Т.е. дата отвечает за актуальность статьи. К примеру, если пост был создан 2010 года, то он будет не такой актуальный чем пост созданный в 2014 году, с той же тематикой. Конечно же дата поста не играет самую важную роль в поисковой выдаче. Это как один из немногих факторов, но который так же лучше учесть. Чем не учесть — а потом жалеть.

В своей статье (адреса к сожалению не помню), автор рекомендовал не использовать в ссылках даты, а также спрятать даты создания постов, и даты комментариев. Т.к. не найдя дату поста, поисковая система будет считать за дату поста, дату первого комментария который встретиться на странице. А спрятав все даты — мы обманываем поисковую систему, и статья является якобы актуальной и по сей день. Интересно, не выйдет ли это в перспективе боком, скажем, года так через два?

Прошвырнувшись по десятку популярных блогов на WP, я специально начал изучать данный вопрос. И что вы думали? Да, действительно, многие спрятали свои даты. Некоторые вообще удалили все даты (и поди-угадай какого года эта статья и насколько ее информация соответствует действительности, такое ужасно раздражает)! А практически все, даже не популярные блоги, имеют следующий URL формат статей — «/название-категории/название-поста» или просто «/название-поста».

Честно сказать — не знаю, возможно это случайное совпадение, но я решил так же предостеречься, чем потом кусать локти. Ну и так как на сайте, автор рекомендовал плагин «Hide My Dates», я начал использовать именно его.

Установив плагин. Прешел к просмотру статьи, глянул на дату — класс, дата видна! Включил инспектор firefox, проверил, в коде даты нет. Еще помню подумал — интересно, как это сделано, думал что через JavaScript (а оказалось что через css, но об этом уже в следующий раз напишу). Прокрутил статью ниже, к комментариям — черт! Там была испорчена верстка, причиной которой стал плагин. Скриншот прилагается:

Дата с багом, нарушающая версткумелочь, но не приятно.

В подробности вдаваться не буду, но чтобы решить данную проблему, нам нужно отредактировать атрибут тега title, в ф-и формирования списка комментариев темы «Twentytwelve».

Для этого, открываем файл «/wp-content/themes/twentytwelve/functions.php», ищем функцию «twentytwelve_comment», нас интересует следующий код:

printf( '<a href="%1$s"><time datetime="%2$s">%3$s</time></a>',
	esc_url( get_comment_link( $comment->comment_ID ) ),
	get_comment_time( 'c' ),
	/* translators: 1: date, 2: time */
	sprintf( __( '%1$s at %2$s', 'twentytwelve' ), get_comment_date(), get_comment_time() )
);

заменяем его на следующий:

printf( '<a href="%1$s"><time>%2$s</time></a>',
	esc_url( get_comment_link( $comment->comment_ID ) ),
	sprintf( __( '%1$s at %2$s', 'wp2fl-ext' ), get_comment_date(), get_comment_time() )
);

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

Нормально отображаемая датаВот и все!
Ну а в следующей статье, я напишу как устроен плагин «Hide My Dates» и почему возникает такой баг.

4 комментариев к статье "Как подружить плагин Hide My Dates и тему Twentytwelve"

  1. Егор

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

    ответить
    1. Pavel

      Обязательно напишу

      ответить
  2. Егор

    Я короче закомментировал даты.
    Вот эта штука накаляет на валидаторе
    Line 152, Column 464: The text content of element time was not in the required format: The literal did not satisfy the time-datetime format.
    Сколько комментов столько и ошибок. А на главной если выводишь 10 анонсов, считай + 10 лишних ошибок на главной. Нервоз. Я сейчас немного просто решил привести код в порядок, исправить явные ошибки и наткнулся на эту проблему.
    Оставил самописный вывод даты в анонсах (календарь назвал), туда еще год можно добавить и норм будет, код валидный получается.
    Вот как быть? Валидатор ругается еще на микроразметку shema, которая в плагине ceo pak.

    ответить
    1. Pavel

      >Вот как быть?
      Вопросами валидации я не интересовался. Возможная причина ошибок - неправильная вложенность элементов. Как вариант, можно оставить ссылки, поместив их в noindex, и добавить к ссылкам nofollow

      >ceo pak
      Данным плагином не интересовался, поэтому ответить ничего не могу.
      Я использую плагин "WordPress SEO"

      Проверил на валидаторе текущую статью, одна из ошибок:

      Line 166, Column 496: The text content of element time was not in the required format: The literal did not satisfy the time-datetime format.

      …ss="s-hdate" title="10:52"></span></time></a> </header><!-- .comment-meta -->

      Здесь, как раз говориться о неправильной вложенности. Тэг time должен содержать не строковой тип данных, а дату.

      Чтобы исключить ошибки валидатора. Лучше наверное делать это не через JavaScript функцию а через атрибут data и JQuery. Хотя даже не знаю, пройдет ли валидацию атрибут data, раньше кажется не проходил.

      ответить

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *