WordPress kategorileri ve etiketleri, gönderileri daha mantıklı bir yapıda gruplandırmanın en etkili yollarından biridir. Yayınları okuyucular için daha erişilebilir hale getirme ve web sitesindeki genel kullanıcı deneyimini iyileştirme gibi ek yararları vardır. Çoğu WordPress sahibi, bu amaçlar için günlük olarak kategorileri ve etiketleri kullanır, fakat nadiren tam potansiyellerinden yararlanırlar. Bu yazıda sadece kategorilere odaklanacak olsak da aynı prensip etiketler için de geçerlidir.
İlk olarak, kategori sayfaları, belirli anahtar kelimeler ve ifadelerle eşleşen içerik sağlayarak web sitenizin SEO’suna doğal olarak yardımcı olur. Ayrıca ziyaretçilerinizin okumak isteyebilecekleri belirli gönderiler arasından bir gezinme biçimi olarak da hizmet ederler. Buna rağmen, kategorilerin WordPress web sitelerinde genellikle yeterince kullanılmayan bir özelliği vardır: açıklama.
Kategori açıklamaları, kategori başlığını tamamlar ve kategori içindeki makalelerin konusu hakkında fikir verir. Bir açıklama görüntüleyerek, belirsiz veya ilgi çekici olmayan başlıkları olan veya okuyucular tarafından başka türlü gözden kaçabilecek kategori sayfalarına olan trafiği iyileştirebilirsiniz. Bununla birlikte kullanışlılığına rağmen, WordPress’te varsayılan olarak etkinleştirilmediğinden ve kullandığınız temaya bağlı olduğundan, bu özellik yeterince kullanılmamaktadır. Bu yüzden bu yazıda, WordPress kategori açıklamaları konusunu daha derinlemesine inceleyeceğiz ve aşağıdaki soruları yanıtlayacağız:
-
WordPress’te kategori açıklaması nasıl eklenir?
-
Kategori arşiv sayfalarında bir kategori açıklaması nasıl görüntülenir?
-
Tüm WordPress web sitesinde bir kategori açıklaması nasıl görüntülenir?
WordPress’te bir kategori açıklaması nasıl görüntülenir?
Bu yazıda, WordPress’te kategori açıklamalarını görüntülemenin iki olası yöntemini tartışacağız. Her iki yöntem de özel kod parçacıklarının kullanılmasını gerektirir. İlki, çoğu kullanıcının olmasını beklediği kategori arşiv sayfalarında açıklamaları görüntülemenizi sağlar. İkincisi, bunları WordPress web sitenizin herhangi bir sayfasında görüntüleme esnekliği sağlayacaktır.
Fakat daha ileri gitmeden önce, her ihtimale karşı web sitenizin bir yedeğini almalısınız. Ek olarak kodu doğru bir şekilde eklemek için FTP gerekli olacağından, FTP bilginizi tazelemek iyi bir fikirdir. Son olarak bu makalenin daha çok orta ve ileri düzey WordPress kullanıcılarına yönelik olduğunu not etmek önemlidir. Yani, bu makaledeki tüm noktaları açıklığa kavuşturmaya çalışsak da, WordPress bilginize bağlı olarak ek araştırma yapmanız gerekebilir. Ve bunun dışında, başlayalım.
WordPress’te kategori açıklaması nasıl eklenir?
Bir WordPress kategori açıklamasının nasıl görüntüleneceğini keşfetmeden önce, bu açıklamanın nasıl eklendiğini açıklamamız gerekir. Bir kategoriye açıklama eklemek için önce Gönderiler > Kategoriler’e gidin. Orada, biri yeni kategoriler eklemek için, diğeri mevcut kategorilerinizin listesini gösteren iki bölüm göreceksiniz.
Yeni bir kategori eklemek için soldaki Yeni Kategori Ekle formunu doldurun. Buna bir ad, kategori bilgisi ekleme, bir üst kategori atama (gerekirse) ve Açıklama alanına açıklama ekleme dahildir. İşiniz bittiğinde, yeni kategorinizi oluşturmak için aşağıdaki Yeni Kategori Ekle düğmesine basın.
Öte yandan, mevcut bir kategori için açıklama eklemek veya düzenlemek istiyorsanız, önce sağdaki mevcut kategoriler listesinden bulmanız gerekir. Ek seçenekleri ortaya çıkarmak için fareyle üzerine gelmeniz gerekecek. Son olarak yeni bir açıklama eklemek veya mevcut olanı düzenlemek için Düzenle seçeneğine basın.
Bu durum seçtiğiniz kategorinin açıklamasını Açıklama alanında düzenleyebileceğiniz düzenleme ekranını açacaktır. Girdiğiniz bilgileri kaydetmek için alttaki Güncelle düğmesine basın.
Kategori arşiv sayfalarında bir kategori açıklaması nasıl görüntülenir?
Önceki adımda ekledikten sonra bir kategori arşiv sayfasının bir kategori açıklaması göstermesini bekleseniz de bu gerçekleşmez. Kategori açıklamalarını görüntülemek varsayılan WordPress davranışı değildir ve tamamen kullandığınız temaya bağlıdır. Bazı temalar açıklamayı kategori arşiv sayfalarında görüntülemeyi tercih ederken diğerleri bunu yapmaz. Bu yüzden ele alacağımız ilk yöntem, kullandığınız temadan bağımsız olarak bir kategori arşiv sayfasında bir kategori açıklamasının nasıl gösterileceğidir.
Genel olarak, kategori açıklamasını görüntülemek için yalnızca_archive_description() işlevini kullanmanız gerekir. Bağlantılı sayfada görebileceğiniz gibi işlev, daha önce eklenmişlerse arşivlerin açıklamasını (kategori, etiket, terim veya yazar) görüntüler. Yani kod, eklenmişlerse diğer arşivlerin açıklamalarını görüntülemek için de kullanılabilir. Ek olarak bu açıklamayı saran HTML öğesini belirtmenize olanak tanır.
Örnek:
Aşağıdaki kod, -category-description sınıfına sahip bir div HTML öğesiyle sarılmış arşiv açıklamasını görüntüler.
the_archive_description( '<div class="-category-description">', '</div>' );
Arşiv açıklamasını göstermesi için, onu uygun tema şablonu dosyasına eklemeniz gerekir. Bu dosya, temanızın dosya yapısına bağlı olarak,category.php dosyası veyaarchive.php dosyası veya başka bir şablon dosyası olabilir. Fakat temanızın şablon dosyalarını doğrudan değiştirmek iyi bir kodlama uygulaması olmadığından, aynı sonucu kancaları kullanarak nasıl elde edebileceğinizi açıklayacağız.
Muhtemelen web sitenizi bozmak dışında temanızın şablon dosyalarını düzenlememenizin nedeni, temayı güncelledikten sonra tüm düzenlemelerin kaybolacak olmasıdır. Bunun yerine, oluşturduğunuz özel kod uygun bir kancaya “bağlanmalıdır”.
Bu kavramı anlamanıza yardımcı olması için kancaları, geliştiricilerin dosyaların içinde bıraktıkları küçük kod yer tutucuları olarak düşünün. Kodunuzu bunlara “bağlayarak”, kodun doğrudan şablon dosyasının içine, yer tutucu kancasıyla aynı konuma yerleştirilmiş gibi aynı işlevselliği elde edeceksiniz. Bunu yapmanın yararı, bağlı kodun tamamını FTP aracılığıyla alt temanızın functions.php dosyasına veya siteye özel bir eklentiye yerleştirebilmeniz ve böylece onu tema güncellemelerine karşı güvenli hale getirebilmenizdir.
İki tür kanca vardır: yeni özellikler eklemek için kullanılan eylem kancaları ve mevcut özellikleri değiştirmek için kullanılan filtre kancaları. Amacımız, daha önce gösterilmeyen kategori açıklamasını görüntülemek olduğundan, bir eylem kancası kullanmamız gerekir. Bunu göz önünde bulundurarak, aşağıda görebileceğiniz örnek kodu oluşturduk.
if ( ! function_exists( 'your_function_name' ) ) { function your_function_name() { if ( is_category() ) { the_archive_description( '<div class="-category-description">', '</div>' ); } } add_action( 'your_hook_name', 'your_function_name' ); }
Bu kodu parçalayalım.
Bu durum your_function_name() adlı, add_action() işlevi kullanılarak your_hook_name adlı kancaya çağrılan bir işlevi temsil eder. İşlev, yalnızca aynı ada sahip bir işlev zaten mevcut değilse yürütülür. Kodun ana kısmına gelince, the_archive_description() işlevini kullanarak arşiv açıklamasını görüntüler.
Yalnızca kategori sayfalarının açıklamasını görüntülemek istediğimiz için, kodu bir is_category() koşullu ifadesiyle sardık. Yani açıklama sadece kategori arşiv sayfasında gösterilecektir. Söylemeye gerek yok, bu kodu doğru bir şekilde kullanmak için, işlev_adınız ve kanca_adınız bölümlerini buna göre değiştirmeniz gerekir.
İşlev için bir ad bulmak zor olmasa da (uygun bulduğunuz herhangi bir adı kullanabilirsiniz), kullanılacak uygun kancayı seçmek oldukça zor olabilir. En uygun kancayı bulmak için temanızın dosyalarını gözden geçirmeniz veya bu konuyu tema yazarlarınıza danışmanız gerekecektir.
Bu makale için, işlevin adı olarak display_description_on_category_archive_pages ve eylem kancası olarak lekker_action_before_page_content_holder kullanmaya karar verdik. Kullandığımız kod aşağıda gösterilmiştir.
if ( ! function_exists( 'display_description_on_category_archive_pages' ) ) { function display_description_on_category_archive_pages() { if ( is_category() ) { the_archive_description( '<div class="-category-description">', '</div>' ); } } add_action( 'lekker_action_before_page_content_holder', 'display_description_on_category_archive_pages' ); }
Fakat Lekker temasına özel bir kanca içerdiğinden, bu kod başka temalara kopyala-yapıştır yapılamaz. Yukarıda verilen örneği, benzersiz işlev adınızla ve kullandığınız temaya özel bir kanca ile değiştirmeniz gerekir. Kodu oluşturduktan sonra, alt temanızın functions.php dosyasına veya siteye özgü bir eklentinin içine eklenmelidir.
Kodu uygun bir konuma girdikten sonra, kategori arşiv sayfalarında görüntülenen kategori açıklamasını göreceksiniz. Çoğu zaman, bu açıklama, temayla eşleşecek şekilde biçimlendirmek için ek CSS kodu gerektirir.
Fakat bunun gibi bir CSS kodu duruma göre oluşturulur. Bu yüzden tema tasarımınıza ve web sitenizin tamamına uyan benzersiz bir CSS kodu parçası oluşturmanız gerekecektir. Açıklamayı biçimlendirmenize yardımcı olması için yardımcı bir CSS seçici kullanabilirsiniz. Şimdi stilizasyon için kullanabilmemiz için koda eklediğimiz sınıf, kaydırma div HTML öğesine eklenen -category-description sınıfıdır.
Örneğin aşağıdaki CSS kodunu kullandık:
.-category-description { margin: 40px 0; }
Ve bu, Lekker temasından bir arşiv sayfasında aşağıdaki sonucu yarattı.
Tüm WordPress web sitesinde bir kategori açıklaması nasıl görüntülenir?
Kategori açıklamasını görüntüleyebilmek oldukça büyük bir gelişme olsa da, bazı WordPress kullanıcıları, yalnızca kategori arşiv sayfalarında görüntüleniyorsa kısıtlanabilir. Bu yöntem, açıklamayı sayfalar ve gönderiler de dahil olmak üzere web sitenizin tamamında görüntülemek isteyenler içindir.
Aşağıdaki kodu oluşturarak bu işlevi etkinleştirdik:
if ( ! function_exists( 'qodef_categories_with_descriptions_list' ) ) { function qodef_categories_with_descriptions_list( $atts ) { $default_atts = array( "cat_ids" => '' ); $params = shortcode_atts( $default_atts, $atts ); $categories = array(); if ( ! empty( $params['cat_ids'] ) ) { $categories = explode( ',', $params['cat_ids'] ); } $output = "<div class="category-list">"; if ( ! empty( $categories ) ) { foreach ( $categories as $category_id ) { if ( ! is_wp_error( get_the_category_by_ID( $category_id ) ) ) { $output .= "<div class="list-item"><h4><a href="" . esc_url( get_category_link( $category_id ) ) . "" class="category-link">" . get_the_category_by_ID( $category_id ) . "</a></h4>"; $output .= category_description( $category_id ) . "</div>"; } else { $output .= "<div class="not-valid">" . esc_html__( 'Not a valid ID.', 'textdomain' ) . "</div>"; } } } else { $output .= "<div class="no-value">" . esc_html__( 'No category IDs were inserted.', 'textdomain' ) . "</div>"; } $output .= "</div>"; return $output; } add_shortcode( 'categories_with_descriptions', 'qodef_categories_with_descriptions_list' ); }
Bu kodu daha yakından inceleyelim.
Category_with_descriptions adlı özel bir kısa kodu temsil eder. qodef_categories_with_descriptions_list() işlevi kullanılarak oluşturulmuş ve add_shortcode() işlevi kullanılarak bir kısa kod olarak kaydedilmiştir. Kodun her bölümü hakkında daha fazla ayrıntıya girmek yerine, size bu kısa kodun beklenen sonuçlarının neler olduğu ve nasıl kullanılması gerektiği hakkında genel bir bakış sunacağız.
Bu özel kısa kod, varsayılan değer olarak boş bir dizeye sahip olan, cat_ids adlı yalnızca bir parametreyi kabul eder. cat_ids parametresi, eklemeniz gereken kategori kimliklerinin listesini yalnızca virgülle (,) ayırarak temsil eder. Girdiğiniz değerlere bağlı olarak, üç farklı sonuç mümkündür. Hiçbir şey eklenmediyse, Hiçbir kategori kimliği eklenmedi diyen bir mesaj. görüntülenir. Aksi takdirde, için…