Dodawanie hentry-hatom do wszystkich postów i stron

Baner nad wpisem do bloga

Jak dodać autora, datę modyfikacji i tytuł posta do każdej strony i postu w WordPress?

Dzisiaj bardzo szybciutki wpis z ostatniej chwili. Siedziałem nad tym palącym problem kilka godzin i udało mi się w końcu znaleźć idealne czyste rozwiązanie aby dodać dane hentry/hatom do wszystkich obiektów typu post i page w WordPress. Oto rozwiązanie:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php

function add_suf_hatom_data($content) {

    $t = get_the_modified_time('F jS, Y');

    $author = get_the_author();

    $title = get_the_title();

if (is_home() || is_singular() || is_archive() ) {

        $content .= '<div class="hatom-extra" style="display:none;visibility:hidden;"><span class="entry-title">'.$title.'</span> was last modified: <span class="updated"> '.$t.'</span> by <span class="author vcard"><span class="fn">'.$author.'</span></span></div>';

    }

    return $content;

    }
?>

Jest w 100% wiarygodne, pochodzi z forum dla Webmasterów Google

Usuwanie błędów w GSC hentry i hatom

Baner nad wpisem do bloga

Dlaczego widzę błędy hentry/hatom w Google Search Console dla mojego bloga WordPress?

Skoro to czytasz, to najprawdopodobniej zbudowałeś stronę na WordPress, a Roboty indeksujące Google wiedzą że twoja strona została zbudowana na silniku bloga i każdą jego podstronę traktują jak gdyby to był wpis bloga.

Co to są znaczniki Hatom/Hentry i jak je usunąć z podstron?

Te znaczniki informują robota indeksującego że wpis do bloga zawiera autora, datę publikacji, datę modyfikacji i kategorię. Na usunięcie ich jedynie z podstron jest tylko jedyna właściwa metoda, wymagająca dopisania kilku linijek kodu do pliku functions.php. Rozwiązanie znalazłem w swampsidestudio.com. Rozwiązanie to informuje robota indeksującego że podstrony nie są wpisami bloga, czyli odłącza informację o danych strukturalnych ze stron oznaczonych jako „page”.

1
2
3
4
5
6
7
function twójmotyw_remove_hentry( $classes ) {
if ( is_<strong>page</strong>() ) {
$classes = array_diff( $classes, array( 'hentry' ) );
}
return $classes;
}
add_filter( 'post_class','twójmotyw_remove_hentry' ););

Czy modyfikacja hentry/hatom pozostanie po zaktualizowaniu WordPress?

Tak, jeśli używamy motywu potomnego i mamy dodatkowy plik functions.php ale bliżej o motywach potomnych napiszę w innym poście.