Sztuczki w WordPressie

Kategoria: Webmastering Data publikacji:

W nowym motywie wprowadzonym na niniejszym blogu z końcem grudnia 2013 roku umieściłem kilka, moim zdaniem, ciekawych sztuczek, którymi chciałbym się z wami podzielić.

Głównie pliku functions.php swojego motywu, ale nie tylko, umieściłem kilka ciekawych drobnostek, które poniżej wypisałem wraz z kodem PHP. Owy kod napisałem na podstawie poradników z Internetu oraz swojej drobnej wiedzy. ;-)

Wykluczenie stron wyników wyszukiwania

Aby wykluczyć strony z wyników wyszukiwania WordPressa, do pliku functions.php należy dołączyć poniższy kod.

function exclude_pages( $query ) {
	foreach ( get_categories() as $category )
		$all_categories .= $category->cat_ID.',';
	if ( $query->is_search )
		$query->set('cat',$all_categories);
}
add_filter( 'pre_get_posts', 'exclude_pages' );

Zmiana działania odnośnika „Przeczytaj więcej »”;

Domyślnie po kliknięciu np. na stronie głównej bloga odnośnika „Przeczytaj więcej »”, czytelnik zostaje przeniesiony do wpisu i następuje „przeskok” do linijki, na której wstęp się skończył. Aby pozbyć się „przeskoku”, w pliku functions.php wstawiamy ten kod.

function remove_more_jump_link($link) { 
	$offset = strpos($link, '#more-');
	if ($offset)
		$end = strpos($link, '"',$offset);
	if ($end)
		$link = substr_replace($link, '', $offset, $end-$offset);
	return $link;
}
add_filter('the_content_more_link', 'remove_more_jump_link');

Fragment wpisu w <meta name="description">

Istnieje wiele wtyczek ułatwiających pozycjonowanie bloga opartego na WordPressie. Jednak można bez żadnych wtyczek umieścić początkowy fragment wpisu w nagłówku <head>, aby wyniki wyszukiwania np. w Google’u były bardziej uporządkowane. W tym celu kolejno w plikach functions.php oraz header.php motywu umieszczamy następujące fragmenty kodu PHP.

function tg_meta_description () {
	$description = apply_filters('get_the_content', get_post($post->ID)->post_content);
	$description = substr( $description, 0, 220 );
	$description = str_replace( array("\r\n",'"',"\t"),array(' ',null), strip_tags($description) );
	$description = substr( $description, 0, 150 );
	echo $description . '…';
}
<meta name="description" content="<?php if ( is_single() or is_page() ) tg_meta_description(); else echo get_bloginfo('description'); ?>" />

Odnośnik do miesiąca pod postem

Aby ułatwić nawigację po stronie i przeglądanie starszych postów, można sprawić, że data pod wpisiem będzie klikalna, a link będzie przenosić do archiwum z danego miesiąca. W tym celu należy odnaleźć plik motywu odpowiedzialny za wyświetlanie wpisów (w wielu motywach są to pliki index.php oraz single.php), a następnie zamienić funkcję wyświetlającą datę (np. the_date();) na poniższy odnośnik.

<a href="<?php echo get_month_link(get_the_date('Y'),get_the_date('m')); ?>"><?php echo get_the_date() ?></a>

Dodaj komentarz