Мікроформати

Avatar

Від Termin 27-01-2013 17:39:00

Сусід · 103 повідомлень

Вирішив виправити мікроформати як це вимагає google https://support.google.com/webmasters/b ... &ctx=topic,
і побачив як відображається дата на моєму сайті:

Суббота, Январь 12th, 2013, 8:56 дп

дивно так?  Схоже на час до старту у гуманоїдів  😄  😄  😄

Сходив сюди http://codex.wordpress.org/Formatting_Date_and_Time там всі дати таки самі, я не зрозумів, як така дата

Суббота, Январь 12th, 2013, 8:56 дп

на русском WP, але це справа розробників.

Шановні підкажіть будь ласка де мені виправити дату як вимагає google для мікроформатов?

<time itemprop="startDate" datetime="2009-10-15T19:00-08:00">15 октября 2009 г., 19:00</time>
Avatar

Від AzzePis 27-01-2013 18:15:12

Administrator · 1,001 повідомлень

покажіть код шаблону, що відповідає за виведення дати у вас


Український хостинг для WordPress | Шаблони та плагіни для WordPress українською
Тут можна купити домен за найкращою ціною

Avatar

Від Termin 27-01-2013 18:24:47

Сусід · 103 повідомлень
AzzePis wrote

покажіть код шаблону, що відповідає за виведення дати у вас

function hybrid_entry_published_shortcode( $attr ) {
	$attr = shortcode_atts( array( 'before' => '', 'after' => '', 'format' => get_option( 'date_format' ) ), $attr );

	$published = '<abbr class="published" title="' . sprintf( get_the_time( esc_attr__( 'l, F jS, Y, g:i a', 'hybrid-core' ) ) ) . '">' . sprintf( get_the_time( $attr['format'] ) ) . '</abbr>';
	return $attr['before'] . $published . $attr['after'];
}
Avatar

Від AzzePis 27-01-2013 21:17:15

Administrator · 1,001 повідомлень
Termin wrote
AzzePis wrote

покажіть код шаблону, що відповідає за виведення дати у вас

function hybrid_entry_published_shortcode( $attr ) {
	$attr = shortcode_atts( array( 'before' => '', 'after' => '', 'format' => get_option( 'date_format' ) ), $attr );

	$published = '<abbr class="published" title="' . sprintf( get_the_time( esc_attr__( 'l, F jS, Y, g:i a', 'hybrid-core' ) ) ) . '">' . sprintf( get_the_time( $attr['format'] ) ) . '</abbr>';
	return $attr['before'] . $published . $attr['after'];
}

якщо я вірно зрозумів, ви трохи перемудрили. маю на увазі, я просив показати конкретно код з шаблону, де виводиться дата, а не тільки функцію, яка цей код формує... можливо я помилився.
але. якщо в шаблоні треба вивести таке:

[code2=html:2t8tbs7h]<time itemprop="startDate" datetime="2009-10-15T19:00-08:00">15 октября 2009 г., 19:00</time>[/code2:2t8tbs7h]

спробуйте так:

[code2=php:2t8tbs7h]<time itemprop="startDate" datetime="<?php the_time( 'c' ); ?> "><?php the_time( 'j l Y' ); ?></time>[/code2:2t8tbs7h]


Український хостинг для WordPress | Шаблони та плагіни для WordPress українською
Тут можна купити домен за найкращою ціною

Avatar

Від Termin 28-01-2013 09:49:42

Сусід · 103 повідомлень

Я не знаю, як можна вставити в шорткад <?php , але це вже не має значення, тому що не працює:

Відповідь Google

Внимание! Missing required field "updated".

Напевно через те, що це фомат стандарту RFC 2822 а потрібен я так зрозумів ISO


-------------------------------------
На писав так

function hybrid_entry_published_shortcode( $attr ) {
	$attr = shortcode_atts( array( 'before' => '', 'after' => '', 'format' => get_option( 'date_format' ) ), $attr );

	$published = '<abbr class="published updated" title="' . sprintf( get_the_time( esc_attr__( 'Y-m-d\TH:i:sO', 'hybrid-core' ) ) ) . '">' . sprintf( get_the_time( $attr['format'] ) ) . '</abbr>';
	return $attr['before'] . $published . $attr['after'];
}

Тут http://www.google.com/webmasters/tools/richsnippets
і
тут http://webmaster.yandex.ua/microtest.xml
працює.

не зрозуміло, як виправити це

og
ПРЕДУПРЕЖДЕНИЕ: чтобы ваши данные использовались в сервисе Яндекс.Видео необходимо дополнительно указать поля: og:video, og:video:type

Avatar

Від AzzePis 28-01-2013 12:27:06

Administrator · 1,001 повідомлень

я повторюсь, написаний вище код треба вставляти безпосередньо у місце, де виводиться дата, наприклад у index.php в шаблоні.
також код написаний аби виводити те, що ви просили у першому пості.
а те що ви виправили, скоріше знаходиться у functions.php
але я радий що ви знайшли ріщення

щодо og:video, og:video:type - ці теги потрібно вказувати при виведенні відео. як це робити, в першу чергу залежить від того, як ви вставляєте/виводите відео на сайті


Український хостинг для WordPress | Шаблони та плагіни для WordPress українською
Тут можна купити домен за найкращою ціною

Avatar

Від mr.psiho 28-01-2013 13:51:26

Сусід · 160 повідомлень

Напевно через те, що це фомат стандарту RFC 2822 а потрібен я так зрозумів ISO

Ні, не напевне. Вам правильно підказали і тут, внизу, два останні рядки таблиці це підтверджують. А те як зробили ви це імітація правильності.
Проте як що вам так ок - то ок.

ПРЕДУПРЕЖДЕНИЕ: чтобы ваши данные использовались в сервисе Яндекс.Видео необходимо дополнительно указать поля: og:video, og:video:type

Здається мені, що яндекс захоче бачити ці теги у рсс стрічці, саме цього стосується його повідомлення. Якщо так - то вам треба створити кастомну рсс стрічку, адаптовану під яндекс.відео.


Сайти на WordPress будь якого рівня складності. Сайти на LiveStreet будь якого рівня складності. А ще ми любимо корів)) Звертайтесь. ;)

Avatar

Від Termin 28-01-2013 14:36:43

Сусід · 103 повідомлень
mr.psiho wrote

Напевно через те, що це фомат стандарту RFC 2822 а потрібен я так зрозумів ISO

Ні, не напевне. Вам правильно підказали і тут, внизу, два останні рядки таблиці це підтверджують. А те як зробили ви це імітація правильності.
Проте як що вам так ок - то ок.

ПРЕДУПРЕЖДЕНИЕ: чтобы ваши данные использовались в сервисе Яндекс.Видео необходимо дополнительно указать поля: og:video, og:video:type

Здається мені, що яндекс захоче бачити ці теги у рсс стрічці, саме цього стосується його повідомлення. Якщо так - то вам треба створити кастомну рсс стрічку, адаптовану під яндекс.відео.

Я вас зрозумів, але у мене немає знань як цей код

<time itemprop="startDate" datetime="<?php the_time( 'c' ); ?> "><?php the_time( 'j l Y' ); ?></time>

інтегрувати в цей шорткад

function hybrid_entry_published_shortcode( $attr ) {
	$attr = shortcode_atts( array( 'before' => '', 'after' => '', 'format' => get_option( 'date_format' ) ), $attr );

	$published = '<abbr class="published updated" title="' . sprintf( get_the_time( esc_attr__( 'Y-m-d\TH:i:sO', 'hybrid-core' ) ) ) . '">' . sprintf( get_the_time( $attr['format'] ) ) . '</abbr>';
	return $attr['before'] . $published . $attr['after']; 
}

Це потрібно зробити, тому що по всьому сайту дата в шаблоні виду

[published]

     
За словами з google:
- достить в title правильно вказати даду.

Avatar

Від mr.psiho 28-01-2013 19:51:23

Сусід · 160 повідомлень

Я вас зрозумів, але у мене немає знань...

Замість ось цієї частинки коду:

'Y-m-d\TH:i:sO'

Вставити таке:

'c'

якщо потрібен час у форматі ISO 8601 або...

'r'

якщо треба у форматі RFC 2822
(просто я так і не зрозумів як хоче Гугл)

Все решту, в тому числі шорткод у місці виводу, залишити як було в оригіналі.


Сайти на WordPress будь якого рівня складності. Сайти на LiveStreet будь якого рівня складності. А ще ми любимо корів)) Звертайтесь. ;)

Avatar

Від Termin 28-01-2013 21:43:52

Сусід · 103 повідомлень

Повинні бути у форматі ISO 8601.
І знову я вам дякую.
Залишилося тільки виправити це

hatom-feed
hatom-entry:
   
Внимание! At least one field must be set for HatomEntry.
Внимание! Missing required field "entry-title".
Внимание! Missing required field "updated".
Внимание! Missing required hCard "author".
Внимание! At least one field must be set for HatomEntry.
Внимание! Missing required field "entry-title".
Внимание! Missing required field "updated".
Внимание! Missing required hCard "author".
Внимание! At least one field must be set for HatomEntry.
Внимание! Missing required field "entry-title".
Внимание! Missing required field "updated".
Внимание! Missing required hCard "author".
Внимание! At least one field must be set for HatomEntry.
Внимание! Missing required field "entry-title".
Внимание! Missing required field "updated".
Внимание! Missing required hCard "author".

але мені вже набридло.