Belirli Bir Kategoriden Son WordPress Gönderilerini Görüntüleme

Başlangıcından bu yana amacı büyük ölçüde genişlemiş olsa da, WordPress bir blog web sitesini yönetmek için en iyi platform olmaya devam ediyor. Daha az deneyimli birçok kullanıcının bloglarını çok az veya hiç çaba harcamadan oluşturmasına olanak tanır. Bu durum WordPress’in sunduğu temel işlevlerin yanı sıra blog yazmak için uzmanlaşmış çok sayıda tema ve eklenti sayesinde mümkündür.

Her blog web sitesindeki en önemli sayfa, tüm kategorilerde yaptığınız en son gönderileri görüntüleyen Blog sayfasıdır. Bu sayfa en çok okuyucuyu web sitenize çekse de, bazıları görünüşte alakasız makalelerden oluşan uzun bir listede gezinmek zorunda kaldıktan sonra ayrılmaya karar verebilir. Bu okuyucuların ayrılmasını engellemek için, onlara tek bir kategoriye odaklanan daha küçük bir son gönderiler listesi sunabilirsiniz. Bu liste, bulundukları sayfayla alakalı makaleleri gösterecek şekilde uyarlanmalıdır. Bu durum okuyucuların web sitenizi tıklama olasılığını artıracaktır.

Ayrıca web sitenize dikkat çekmek için oluşturulmuş belirli bir kategorideki gönderileri öne çıkarabilir veya web sitenizdeki en önemli makalelerden bazılarını öne çıkarabilirsiniz. Bunun gibi yöntemleri normal blog özelliğiyle birlikte kullanmak, web sitenizin aldığı trafiği önemli ölçüde artıracaktır. Bu yüzden belirli bir kategorideki son WordPress gönderilerinin bir listesini nasıl görüntüleyeceğinizi göstermek için bu makaleyi bir araya getirdik. Devam edelim.

Belirli bir kategorideki son WordPress gönderileri nasıl görüntülenir?

Belirli bir kategorideki son WordPress gönderilerini görüntülemek, uygun bir WordPress eklentisi veya özel kod kullanılarak yapılabilir. Kullanmakta olduğunuz temaya bağlı olarak, bu işlevsellik o temanın özelliklerine bile entegre edilebilir. Bu yüzden ilerlemeden önce WordPress temanızın sunduğu olanakları incelemelisiniz. Belirli bir kategorideki WordPress son gönderilerini görüntülemek için bir özellik içermiyorsa, bu makaleyle devam etmelisiniz. Sonraki bölümlerde, bir eklenti ve kod kullanarak son gönderileri görüntüleme olasılığını keşfedeceğiz.

Eklenti kullanma

Çoğu WordPress kullanıcısı, yeni başlayanlar için çok uygun bir yöntem olduğu için yeni bir işlevsellik uygularken bir eklenti kullanmayı tercih eder. WordPress eklentilerinin bolluğu ile, WordPress’in son gönderilerini görüntülemek için size uygun bir eklenti bulma şansınız oldukça yüksektir. Gezinirken, son gönderileri göstermek için özel olarak oluşturulmuş veya genel olarak gönderileri görüntülemek için yapılmış eklentileri arayın.

WordPress eklenti deposunda arama yaparken gözümüze çarpan eklenti, Küçük Resimli Son Yazılar Widget’ı oldu.

Bu hafif eklenti, WordPress Son gönderiler widget’ının temel işlevselliğini genişleterek son gönderileri görüntülemek için özel olarak yapılmıştır. Eklenti, belirlediğiniz seçeneklerle eşleşen gönderileri görüntülemek için kullanılabilecek basit ve sezgisel bir pencere öğesi sunar. Bu yüzden tek bir kategorideki son gönderilerin bir listesini veya hatta isterseniz rastgele gönderilerin bir listesini görüntülemek için kullanabilirsiniz. Widget seçenekleri, görüntülediğiniz gönderilerin her biri hakkında ek bilgileri ayarlamanıza olanak tanır. Buna gönderi başlıkları, öne çıkan görseller, yazar ve kategori adları, tarihler ve daha fazlası dahildir.

Bu eklentiyi kullanmak için önce onu kurmanız gerekecek. Daha sonra Görünüm > Pencere Öğeleri’ne gidin ve Küçük Resimli Son Gönderiler pencere öğesini bulun. Widget’ı seçtiğiniz widget alanına yerleştirin ve seçenekleri uygun gördüğünüz şekilde ayarlayın.

Eklenti Seçenekleri

Eklenti Seçenekleri

Widget, keşfedebileceğiniz birçok seçenek sunar. En alakalı olduğunu düşündüğümüz ve bu makale için kullandıklarımızın altını çizdik. Bunlar, widget’ın gösterdiği gönderi sayısı, geçerli gönderinin çıktıdan çıkarılıp çıkarılmaması, alıntının gösterilmesi ve uzunluğunun seçilmesi ve ayrıca son gönderileri tek bir kategoride gösterme yeteneğidir. Bu makale.

Bunun dışında öne çıkan görseli de göstermeyi tercih ettik ve boyutlarını tam olarak belirledik. Küçük resmin boyutu seçeneğinin, kullanmakta olduğunuz tema içindeki kayıtlı görüntü boyutlarına göre görüntü boyutlarını belirtmenize de olanak tanıdığını unutmamak önemlidir.

Tüm bu seçenekleri ayarladıktan sonra aşağıdaki çıktıyı aldık.

Son Yazılar Önizlemesi

Ekrandan tamamen memnun değilseniz, biraz CSS ile daha da stilize edebilirsiniz. Bunu yapmanıza yardımcı olmak için eklenti geliştiricisi, görev için kullanabileceğiniz mevcut CSS seçicilerin bir listesini bıraktı. Bunları eklentinin resmi sayfasında, Ayrıntılar sekmesinin sonuna yakın bir yerde bulabilirsiniz.

CSS Seçicileri

Son olarak oluşturduğunuz herhangi bir CSS, SSS bölümünde belirtildiği gibi, eklentiyi hafif tutmak için Görünüm > Özelleştir altına eklenmelidir.

Özel kod kullanma

Özel kod kullanarak WordPress’in son gönderilerini kategoriye göre eklemek, daha gelişmiş WordPress kullanıcıları için en uygunudur. Basitçe söylemek gerekirse, bu yöntem bazı mevcut kodlama bilgilerini gerektirir. Bunu kullanmanın yararı, eklemek istediğiniz özellik veya işlevselliğin isteklerinize tam olarak uyması için her şeyi manuel olarak ayarlama esnekliği sunmasıdır. Bazılarının bu yöntemi tercih etmesinin ana nedeni budur.

Söylemeye gerek yok, tek bir kategoriye dayalı olarak son gönderiler bölümü oluşturmak için uygulayabileceğiniz pek çok kodlama yaklaşımı vardır. Bu makale için, doğrudan kullanabileceğiniz veya uygun gördüğünüz şekilde geliştirebileceğiniz örnek bir kod oluşturduk. Özel kodu, temanızın functions.php dosyasına veya siteye özel bir eklentiye ekleyebilirsiniz. İlkini göstereceğiz. functions.php dosyasına kod eklemek, FTP bilgisi gerektirdiğinden, daha ileri gitmeden önce onu geliştirmenizi öneririz. Ek olarak potansiyel olarak zarar görmesini önlemek için web sitenizin bir yedeğini almanızı öneririz. Daha sonra aşağıda açıklandığı gibi ilerleyin.

İlk olarak FTP kimlik bilgilerinizi kullanarak sunucunuza bağlanın ve genellikle public_html olarak adlandırılan kök WordPress dizininize gidin.

Genel HTML FTP'si

Daha sonra /wp-content/themes konumuna gidin ve açmak için kullanmakta olduğunuz temanın dizinine tıklayın. Dizin içinde temanın functions.php dosyasını bulun, üzerine sağ tıklayın ve Görüntüle/Düzenle seçeneğini seçin.

FTP

Tercih ettiğiniz metin düzenleyiciyi kullanarak dosyayı açın ve sonuna aşağıdaki kodu ekleyin.

function custom_recent_posts_function( $atts ) {

$default_atts = array(

"category" => 'uncategorized'
);
$params = shortcode_atts( $default_atts, $atts );

$recent_posts = new WP_Query(
array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 3,
'category_name' => $params['category'],
'post__not_in' => array( get_the_ID() ),
'orderby' => 'date',
'order' => 'DESC'
)
);

$html="";
global $post;

if ( $recent_posts->have_posts() ) {
$html .= '<div class="recent-posts">';
while ( $recent_posts->have_posts() ) {
$recent_posts->the_post();
$html .= '<div class="recent-posts-item"><a rel="bookmark" href="';
$html .= get_the_permalink();
$html .= '" class="recent-posts-link">';
if ( has_post_thumbnail( $post->ID ) ) {
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium' );
$html .= '<img class="featured-image" src="' . esc_url( $image[0] ) . '">';
}
$html .= '<h4 class="recent-post-title">' . get_the_title() . '</h4>';
$html .= '</a>';
$long_excerpt = get_the_excerpt();
if ( ! empty( $long_excerpt ) ) {
$short_excerpt = substr( get_the_excerpt(), 0, 40 );
$excerpt = substr( $short_excerpt, 0, strrpos( $short_excerpt, ' ' ) );
$excerpt .= '[&hellip;]';
$html .= '<p>' . wp_kses_post( $excerpt ) . '</p>';
}
$html .= '</div>';
}
$html .= '</div>';
wp_reset_postdata();
} else {
$html .= '<div class="recent-posts">' . esc_html__( 'There are no posts within this category.', 'textdomain' ) . '</div>';
}

return $html;
}
add_shortcode( 'custom_recent_posts', 'custom_recent_posts_function' );

Daha sonra yaptığınız değişiklikleri kaydedin ve şu anda orada bulunan eski sürümünü geçersiz kılmak için dosyayı sunucunuza geri yükleyin.

Şimdi kodu açıklayalım. Aşağıda gösterilen basitleştirilmiş bir biçimde bakarak başlayacağız.

function custom_recent_posts_function( $atts ) {

$default_atts = array(

"category" => 'uncategorized'
);
$params = shortcode_atts( $default_atts, $atts );

$recent_posts = new WP_Query(
array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 3,
'category_name' => $params['category'],
'post__not_in' => array( get_the_ID() ),
'orderby' => 'date',
'order' => 'DESC'
)
);

$html="";
global $post;

if ( $recent_posts->have_posts() ) {
// Some code here
} else {
$html .= '<div class="recent-posts">' . esc_html__( 'There are no available posts within this category.', 'textdomain' ) . '</div>';
}

return $html;
}
add_shortcode( 'custom_recent_posts', 'custom_recent_posts_function' );

Bu şekilde koda bakıldığında, bunun custom_recent_posts adlı bir kısa kodu (add_shortcode() işlevi kullanılarak oluşturulmuş) ve oluşturduğumuz geri arama işlevini custom_recent_posts_function olarak adlandırdığı anlaşılır. Bu kısa kod, ekleyebileceğiniz yalnızca bir parametreye sahiptir; buna kategori denir ve varsayılan olarak kategorize edilmemiş değerine sahiptir. Yani, kısa kod “çağrılırken” kategori parametresi kullanılmazsa, bu varsayılan değer kullanılacaktır.

Daha sonra, bir WP_Query sınıfı olan $recent_posts değişkenini görebilirsiniz. Ona verdiğimiz parametreleri kullanarak, belirli gönderileri gösterebileceğiz. Daha kesin olarak, kategori bilgileri kullanıcının kısa kodu çağırırken girdiği kategoriyle eşleşen üç yayınlanmış blog gönderisi gösterebileceğiz. Gönderiler tarihe göre azalan düzende sıralanacaktır, yani en son yayınlananlardan eskilere doğru. Son olarak bu koşullarla eşleşen bir gönderide kısa kod “çağrılırsa”, yinelenen girişleri önlemek için bu gönderi hariç tutulur.

Kodun sadeleştirilmiş halinin kalan kısmına bakarsak bir if-else ifadesi görebiliriz. Bunların yorumlanması oldukça basittir – önceki koşullar karşılanırsa, kodun IF ifadesinin süslü parantezleri içindeki belirli bir kısmı yürütülür, aksi takdirde kodun diğer kısmı yürütülür. Bu durumda, daha önce açıklanan koşullar karşılanmazsa, Bu kategoride uygun gönderi yok. gösterilecek.

IF ifadesinin süslü parantezleri içinde bulunan kalan koda odaklanalım.

if ( $recent_posts->have_posts() ) {
$html .= '<div class="recent-posts">';
while ( $recent_posts->have_posts() ) {
$recent_posts->the_post();
$html .= '<div class="recent-posts-item"><a rel="bookmark" href="';
$html .= get_the_permalink();
$html .= '" class="recent-posts-link">';
if ( has_post_thumbnail( $post->ID ) ) {
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'medium_large' );
$html .= '<img class="featured-image" src="' . esc_url( $image[0] ) . '">';
}
$html .= '<h4 class="recent-post-title">' . get_the_title() . '</h4>';
$html .= '</a>';
$long_excerpt = get_the_excerpt();
if ( ! empty( $long_excerpt ) ) {
$short_excerpt = substr( get_the_excerpt(), 0, 100 );
$excerpt = substr( $short_excerpt, 0, strrpos( $short_excerpt, ' ' ) );
$excerpt .= '[&hellip;]';
$html .= '<p>' . wp_kses_post( $excerpt ) . '</p>';
}
$html .= '</div>';
}
$html .= '</div>';
wp_reset_postdata();
}

IF ifadesi aslında sözde WordPress Döngüsünün bir parçasıdır. Yukarıda belirtilen koşullara uyan her gönderi için bir bölüm oluşturulur. Bu bölüm, o gönderinin başlığını ve bu gönderinin öne çıkan bir görseli varsa, önceden tanımlanmış bir orta_büyük resim boyutuyla öne çıkan görselini içerecektir. Ayrıca hem başlık hem de resim, okuyucuları o gönderiye yönlendirecek bir bağlantı görevi görecektir. Ek olarak gönderide bir alıntı olması koşuluyla, bu bölüm gönderi alıntısını içerecektir. Alıntı, 100. karakterden önceki son tam kelime olacak şekilde kısaltılacak ve bir üç nokta ile bitecektir.

Bu durum kısa kodun açıklamasını sonlandırır, böylece şimdi onu nasıl kullanacağımıza odaklanabiliriz. Bu durumda, onu bir widget içinde kullanmanızı öneririz. Ve eğer…

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Birlikte Büyüyen Bir İş Kurma Fırsatı!

İş birliği yaparak, işinizi yalnızca bir adım öteye taşıyoruz. Daha detaylı bilgi isterseniz mail adresinizi bize iletebilirsiniz.