Jak spolszczyć informacje o autorze i dacie publikacji na blogu w WordPressie?

  • Poziom trudności:

Najczęstszą bolączką przy instalacji nowego szablonu jest spolszczenie jego zawartości. Zwyczajowe magiczne formuły w stylu „Posted by admin on 18 lipca in Bez kategorii” można spotkać na witrynach wielu osób, które postanowiły przymknąć oczy na detale. Skoro tu jesteście to wiecie, że dopracowane detale witryny świadczą o jej właścicielu. Z angielskimi wstawkami można się uporać i choć może nie jest to najprostsze zadanie to z pewnością sobie z nim poradzisz.

W edytowanym przeze mnie blogu znalazłem pod tytułem taki oto element:

posted

W zależności od użytego szablonu można znaleźć ten element w bardzo różnych miejscach.

Na początku proponuję rozpocząć poszukiwania w panelu administracyjnym w części Wygląd -> Theme options, alternatywnie Theme info albo Personalizacja. W nomenklaturze twórców szablonów ten turkusowy element pod tytułem jest często nazywany „entry-meta” lub meta i pod tymi nazwami możesz go poszukiwać.

Przeszukiwanie czasami nie odnosi skutku i wtedy trzeba posłużyć się podglądem źródła strony (standardowy skrót na komputerach z Windowsem to Ctrl+U). Po otwarciu źródła wystarczy poszukać gdzie jest słowo „Posted by” i wtedy możemy się zorientować czy w szablonie zostały w jakiś szczególny sposób oznaczone te elementy. Udało mi się w edytowanym przeze mnie szablonie dotrzeć do tego, że element wyświetlany pod tytułem objęty jest kontenerem, który nazywa się (posiada taką klasę) „entry-meta”.

To było słowo klucz po którym postanowiłem przeszukać wszystkie pliki szablonu. Jak to zrobiłem? Na początku pobrałem przy pomocy klienta FTP cały szablon na dysk, a następnie korzystając z zaawansowanego edytora tekstu (w moim przypadku był to Notepad ++) skorzystałem z opcji Szukaj -> Szukaj w plikach i wpisałem „entry-meta” i szukanie tylko we wspomnianym wcześniej katalogu. Miejsca gdzie mogę zmienić metadane nie udało mi się odkryć, ale znalazłem kolejny ślad po którym mogłem szukać:

<div class="entry-meta">
      <?php patus_posted_on(); ?>
</div><!-- .entry-meta -->

Szablon nazywa się Patus, dlatego specjalnie nie dziwi, że funkcje w nim umieszczone nazywają się: patus_posted_on, patus_post_nav czy patus_entry_footer. Poszukałem tej pierwszej ponieważ według moich przypuszczeń to ona odpowiadała za wyświetlanie autora, daty i kategorii. Nie myliłem się. Ponowne przeszukanie całego szablonu przy pomocy Notepada++ sprawiło, że znalazłem funkcję, która mnie interesowała:

if ( ! function_exists( 'patus_posted_on' ) ) :
/**
 * Prints HTML with meta information for the current post-date/time and author.
 */
function patus_posted_on() {
	$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
	if ( get_the_time( 'U' ) !== get_the_modified_time( 'U' ) ) {
		//$time_string = '<time class="entry-date published" datetime="%1$s">%2$s</time><time class="updated" datetime="%3$s">%4$s</time>';
	}

	$time_string = sprintf( $time_string,
		esc_attr( get_the_date( 'c' ) ),
		esc_html( get_the_date() ),
		esc_attr( get_the_modified_date( 'c' ) ),
		esc_html( get_the_modified_date() )
	);

	$posted_on = sprintf(
		_x( ' on %s', 'post date', 'patus' ),
		'<a href="' . esc_url( get_permalink() ) . '" rel="bookmark">' . $time_string . '</a>'
	);

	if ( is_sticky( ) ) {
		echo '<span class="genericon genericon-pinned"></span> ';
	}

	$byline = sprintf(
		_x( 'Posted by %s', 'post author', 'patus' ),
		'<span class="author vcard"><a class="url fn n" href="' . esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ) . '">' . esc_html( get_the_author() ) . '</a></span>'
	);

	echo '<span class="byline"> ' . $byline . '</span><span class="posted-on">' . $posted_on . '</span>';

	$categories_list = get_the_category_list( __( ', ', 'patus' ) );
	if ( $categories_list && patus_categorized_blog() ) {
		printf( '<span class="cat-links">' . __( ' in %1$s', 'patus' ) . '</span>', $categories_list );
	}

	if ( ! is_single() && ! post_password_required() && ( comments_open() || get_comments_number() ) ) {
		echo '<span class="comments-link"> / ';
		comments_popup_link( __( '0 Comment', 'patus' ), __( '1 Comment', 'patus' ), __( '% Comments', 'patus' ) );
		echo '</span>';
	}

}
endif;

Żeby było trudniej autor szablonu rozbił tą linię na złożoną funkcję i aby dokonać spolszczenia każdego ze słów trzeba szukać ich kolejno w liniach:

  • Posted by – 28 linia
  • on – 19 linia
  • in – 36 linia
  • comment oraz comments – 41 linia

Jak więc widzisz nie jest tak prosto znaleźć i dokonać spolszczenia niektórych elementów szablonu. Czasami trzeba się posłużyć czymś więcej aniżeli panelem administracyjnym WordPressa (pliki które edytowałem były ukryte w katalogach do których WordPressowy edytor nie miał dostępu). Powodzenia w poszukiwaniu waszego fragmentu kodu.

Ukrycie metadanych

Gdybyś chciał zrezygnować z wyświetlania belki z informacją o autorze i dacie publikacji, wtedy wystarczy kliknąć na nią prawym przyciskiem myszy, wybrać „Zbadaj element”. W przeglądarce powinna się pojawić dodatkowa belka z informacją jak nazywa się kontener zawierający powyżej wymienione informacje:

jak-ukryc-metadane

Po tego typu podpowiedzi łatwo się zorientować, że elementem który należy ukryć jest kontener o klasie single_meta. Teraz wystarczy przejść do Wygląd -> Edytor do edycji pliku style.css i wpisać fragment kodu CSS odpowiadający za ukrycie wybranego kontenera:

.single_meta {
   display: none;
}

lub jeśli zależy Ci na ukryciu tylko na stronie głównej:

body.home .single_meta {
     display: none;
}

Powodzenia!

UDOSTĘPNIJ