WordPress Eklentisiz Sayfalama

WordPress Temalarınıza El İle Sayısal Sayfalandırma Ekleme

Hiç bir eklenti kullanmadan WordPress temalarınıza sayısal sayfa numaralarını nasıl elle ekleyeceğinizi göstereceğiz. Bu, ileri düzey kullanıcılarımıza ve tema geliştirmeyi öğrenen veya üçüncü taraf bir eklentiye güvenmeden bunu yapmak isteyen kullanıcılara fayda sağlayacaktır. Aşağıdaki kodu temanızın functions.php dosyasının en sonuna ekleyerek başlayalım. (Dosyanın Yedeğini Almayı Unutmayın)

function wpbeginner_numeric_posts_nav() {

if( is_singular() )
return;

global $wp_query;

/** Stop execution if there's only 1 page */
if( $wp_query->max_num_pages <= 1 )
return;

$paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
$max = intval( $wp_query->max_num_pages );

/** Add current page to the array */
if ( $paged >= 1 )
$links[] = $paged;

/** Add the pages around the current page to the array */
if ( $paged >= 3 ) {
$links[] = $paged - 1;
$links[] = $paged - 2;
}

if ( ( $paged + 2 ) <= $max ) {
$links[] = $paged + 2;
$links[] = $paged + 1;
}

echo '<div class="navigation"><ul>' . "\n";

/** Previous Post Link */
if ( get_previous_posts_link() )
printf( '<li>%s</li>' . "\n", get_previous_posts_link() );

/** Link to first page, plus ellipses if necessary */
if ( ! in_array( 1, $links ) ) {
$class = 1 == $paged ? ' class="active"' : '';

printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( 1 ) ), '1' );

if ( ! in_array( 2, $links ) )
echo '<li>…</li>';
}

/** Link to current page, plus 2 pages in either direction if necessary */
sort( $links );
foreach ( (array) $links as $link ) {
$class = $paged == $link ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $link ) ), $link );
}

/** Link to last page, plus ellipses if necessary */
if ( ! in_array( $max, $links ) ) {
if ( ! in_array( $max - 1, $links ) )
echo '<li>…</li>' . "\n";

$class = $paged == $max ? ' class="active"' : '';
printf( '<li%s><a href="%s">%s</a></li>' . "\n", $class, esc_url( get_pagenum_link( $max ) ), $max );
}

/** Next Post Link */
if ( get_next_posts_link() )
printf( '<li>%s</li>' . "\n", get_next_posts_link() );

echo '</ul></div>' . "\n";

}

Yukarıdaki kodu functions.php’ye eklediğinizi varsayarak devam ediyoruz, aşağıda belirttiğim kodu index.php, archive.php, category.php ve diğer herhangi bir arşiv sayfası şablonuna ekleyelim, yalnız ben sadece footer.php’ye ekledim, bende gayet güzel çalıştı. Temadan temaya farklılıklar gösterebilir, deneme yanılma yoluyla kolaylıkla halledebilirsiniz. Yalnız tekrar ediyorum, kodu ekleyeceğiniz php dosyalarının yedeğini muhakkak alın.

<?php wpbeginner_numeric_posts_nav(); ?>

Şimdi numaralandırılmış sayfa listemizi aldığımızda, bu listeye stil vermemiz gerekiyor. Listenin, etkin sayfanın farklı bir arka plan rengiyle vurgulandığı satır içi görünmesini sağlamak istiyoruz. Bunu başarmak için devam edip temanızın style.css dosyasının en sonuna aşağıdaki kodları ekleyin.

.navigation li a,

.navigation li a:hover,

.navigation li.active a,

.navigation li.disabled {

    color: #fff;

    text-decoration:none;

}

.navigation li {

    display: inline;

}

.navigation li a,

.navigation li a:hover,

.navigation li.active a,

.navigation li.disabled {

    background-color: #6FB7E9;

    border-radius: 3px;

    cursor: pointer;

    padding: 12px;

    padding: 0.75rem;

}

.navigation li a:hover,

.navigation li.active a {

    background-color: #3C8DC5;

}

 

Şimdi sayfanızı kontrol ediniz, işte harika görünümlü bir sayfalandırmaya sahip oldunuz, mutlu çalışmalar.

 

Add a Comment