Özel Gönderi Türleri için WordPress Sayfalandırması Nasıl Oluşturulur
Yayınlanan: 2020-02-24Özel gönderi türleri için sayfalandırma oluşturmak zor olmamalıdır, çünkü burada kullandığımız fikrin aynısını yeniden kullanabilirsiniz - WordPress'te özel sorgu sayfalandırması nasıl oluşturulur. Özel gönderi türünü sorgulamamız ve ardından bu gönderi türündeki veya birkaç gönderi türündeki sorgu gönderilerini görüntülememiz gerekiyor.
Bu yazıda, size özel gönderi türleri için WordPress sayfalandırmasının nasıl oluşturulacağını göstereceğim. Sayfalandırma, bu sayısal sayfalandırmaya benzer olacaktır. Tüm özel gönderi türlerini alan özel bir sorgu oluşturacağız, ardından özel gönderi türlerini döngü ve sayı sayfalandırma ile görüntüleyeceğiz.
Özel Bir Gönderi Türü Oluşturun
İlk adım, aşağıdaki kodu kullanarak özel bir gönderi türü oluşturmaktır :
/** * Özel Gönderi Türü - register_post_type() * @description- Njengah Eğitimi Özel Gönderi Türü Örneği * @link -https://Gist.github.com/Njengah/839466b773085ac2430772e081357cee * */ add_action('init', "njengah_tutorial_cpt"); function njengah_tutorial_cpt(){ $etiketler = dizi( 'name' => _x('Öğreticiler', 'yazı tipi genel adı'), 'singular_name' => _x('Öğretici', 'yazı tipi tekil isim'), 'menu_name' => _x('Öğreticiler', 'yönetici menüsü'), 'name_admin_bar' => _x('Öğretici', 'yönetici çubuğuna yeni ekle'), 'add_new' => _x('Yeni Ekle', ''), 'add_new_item' => __('Yeni öğretici ekle'), 'edit_item' => __('Öğreticiyi Düzenle'), 'new_item' => __('Yeni Eğitim'), 'all_items' => __('Tüm Eğitimler'), 'view_item' => __('Öğreticiyi Görüntüle'), 'search_items' => __('Öğreticileri Ara'), 'not_found' => __('Öğretici bulunamadı'), 'not_found_in_trash' => __('Çöp Kutusunda Öğretici bulunamadı'), 'parent_item_colon' => __('Ebeveyn Eğitimleri:'), ); $args = dizi( 'hiyerarşik' => doğru, 'etiketler' => $etiketler, 'genel' => doğru, 'publicly_queryable' => doğru, 'açıklama' => __('Açıklama.'), 'show_ui' => doğru, 'show_in_menu' => doğru, 'show_in_nav_menus' => doğru, 'query_var' => doğru, 'yeniden yaz' => doğru, 'query_var' => doğru, 'rewrite' => array('slug' => 'tutorial'), 'capability_type' => 'sayfa', 'has_archive' => doğru, 'menu_position' => 22, "show_in_rest" => doğru, 'destekler' => dizi( 'başlık', 'düzenleyici', 'yazar', 'küçük resim', 'yorumlar', 'düzeltmeler', 'sayfa öznitelikleri', 'özel alanlar') ); register_post_type('öğretici', $args); }
Bu kodu function.php dosyanıza ekleyin ve WordPress kontrol panelinizde özel yazı tipi ' Öğreticiler'in göründüğünü göreceksiniz.
Bu kod, özel özel gönderi türünüze uyacak şekilde değiştirilebilir. Özel gönderi türü, özel gönderi türü oluşturma eklentileri kullanılarak da oluşturulabilir.
Özel Gönderi Türlerini Görüntülemek için Sayfa Şablonu Oluşturun
WordPress döngüsünü kullanarak özel gönderi türlerini görüntülemek için kullanılacak özel bir sayfa şablonu oluşturmamız gerekiyor.
Özel bir sayfa şablonu oluşturmak için temanızın kök klasöründe yeni bir dosya oluşturmalısınız.
Dosyayı adlandırın - özel -page.php veya özel gönderi türünü açıklayan başka bir ad, örneğin yukarıda oluşturulan özel gönderi türü için bu ad, tutorials-page.php olabilir.
Bu dosyaya, aşağıdaki kodu kullanarak özel sayfa şablonunun başlığını ekleyin ve değişiklikleri kaydedin:
<?php /** * Şablon Adı: Öğreticiler Şablonu */ get_header();
Şimdi özel sayfa şablonunun aşağıda gösterildiği gibi sayfa özellikleri şablon seçeneğinizde göründüğünü görmelisiniz:
Özel Gönderi Türü Özel Sorgu Oluştur
Özel sorgu, mevcut özel gönderi türlerini sorgulamamızı ve önceki adımda oluşturduğumuz özel sayfa şablonunda görüntülememizi sağlayacak ilk adımdır.
Aşağıdaki kod, öğreticilerin özel gönderi türünü sorgulayacak ve ilk iki gönderiyi alacak ve ardından bunları yukarıda oluşturduğumuz özel sayfa şablonunda görüntüleyecektir.
<?php /** * Şablon Adı: Öğreticiler Şablonu */ get_header(); // Adım 1: Özel Sorgu Oluşturun $paged = ( get_query_var( 'paged' ) ) ? get_query_var('sayfalanmış') : 1; $args = dizi( 'posts_per_page' => 2,// son 2 gönderiyi sorgula 'post_type' => 'eğitici', 'paged' => $sayfalandı ); $customPostQuery = new WP_Query($args); ?>
Özel Sayfa Şablonunda Eğitim Özel Gönderilerini Görüntüle
Özel gönderi türünü sorgulayacak ve bunları özel sayfa şablonunda görüntüleyecek kod aşağıdadır:
<?php /** * Şablon Adı: Öğreticiler Şablonu */ get_header(); // Adım 1: Özel Sorgu Oluşturun $paged = ( get_query_var( 'paged' ) ) ? get_query_var('sayfalanmış') : 1; $args = dizi( 'posts_per_page' => 2,// son 2 gönderiyi sorgula 'post_type' => 'eğitici', 'paged' => $sayfalandı ); $customPostQuery = new WP_Query($args); ?> <!-- Adım 2: 1. Adımda Sorguladığımız Gönderileri Görüntüleyin --> <div class="sarma"> <div id="birincil" class="içerik alanı"> <main id="main" class="site-main" role="main"> <?php if($customPostQuery->have_posts() ): while($customPostQuery->have_posts()) : $customPostQuery->the_post(); küresel $yazı; ?> <div class ="inner-content-wrap"> <ul class ="cq-posts-list"> <li> <h3 class ="cq-h3"><a href="<?php the_permalink(); ?>" ><?php the_title(); ?></a></h3> <div> <ul> <div> <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('thumbnail'); ?></a> </div> </ul> <ul> <p><?php echo the_content(); ?></p> </ul> </div> </li> </ul> </div> <!-- blog gönderilerini sonlandır --> <?php bitiş zamanı; endif; wp_reset_query();
WordPress Özel Posta Sayfalandırma İşlevi Oluşturun
Bu adımda, şimdi tema işlevlerine eklenecek ve döngü özel yazı türlerini görüntüledikten sonra çağrılacak özel bir yazı tipi sayfalama fonksiyonu oluşturmalıyız.
Özel yazı tipi sayfalama işlevi oluşturmak için function.php'ye aşağıdaki kod eklenmelidir.
// Özel yazı tipi sayfalama işlevi function cpt_pagination($sayfalar = '', $aralık = 4) { $showitems = ($aralık * 2)+1; küresel $sayfalanmış; if(empty($paged)) $paged = 1; if($sayfalar == '') { küresel $wp_query; $pages = $wp_query->max_num_pages; if(!$sayfalar) { $sayfa = 1; } } if(1 != $sayfa) { echo "<nav aria-label='Sayfa gezinme örneği'> <ul class='pagination'> <span>Sayfa ".$paged." of ".$pages."</span>"; if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>« İlk</a>"; if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>‹ Önceki</a>"; için ($i=1; $i <= $sayfa; $i++) { if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )) { yankı ($paged == $i)? "<li class=\"page-item active\"><a class='page-link'>".$i."</a></li>":"<li class='page-item' > <a href='".get_pagenum_link($i)."' class=\"page-link\">".$i."</a></li>"; } } if ($paged < $pages && $showitems < $pages) echo " <li class='page-item'><a class='page-link' href=\"".get_pagenum_link($paged + 1)." \">i class='flaticon flaticon-back'></i></a></li>"; if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo " <li class='page-item'><a class='page-link' href=' ".get_pagenum_link($pages)."'><i class='flaticon flaticon-arrow'></i></a></li>"; echo "</ul></nav>\n"; } }
Sayfa Şablonunda Özel Yazı Tipi Sayfalandırma İşlevini Çağırın
Özel yazı tipi sayfalandırma fonksiyonunu oluşturduğumuz ve döngüyü zaten çalıştırdığımız ve özel yazı tiplerini görüntülediğimiz için, şimdi sayfalandırmayı görüntülemek için sayfalama fonksiyonunu özel sayfa şablonunun altına eklememiz gerekiyor.
Özel gönderi sayfalandırma işlevinin var olup olmadığını kontrol etmek için kullanılması gereken kod aşağıdadır ve varsa, sayfalandırmayı görüntülemek için onu çağırmalıyız.
// Adım 3: Sayfalandırma Fonksiyonunu Buraya Çağırın if (function_exists("cpt_pagination")) { cpt_pagination($customPostQuery->max_num_pages); }
Özel yazı tipi, özel bir sayfa şablonu oluşturduk, özel yazı tipi sayfalandırma fonksiyonu ekledik ve hem özel yazı tiplerini bir sorgu ile hem de özel yazı tipi sayfalandırma fonksiyonunu görüntüledik.
Özel Yazı Tipi Sayfalandırma Stilleri
Aşağıdaki kodu kullanarak stilleri özel yazı tipi sayfalamasına eklemeniz gerekir:
/** * Özel Yazı Tipi Sayfalandırma Stilleri * @yazar Joe Njenga */ .sayfalama { ikisini de temizle; konum:göreceli; yazı tipi boyutu:16px; satır yüksekliği:13 piksel; Sağa çık; liste stili-türü:yok; genişlik: 100% } .pagination yayılma alanı, .pagination a { Ekran bloğu; yüzer: sol; kenar boşluğu: 2px 2px 2px 0; dolgu:6px 9px 5px 9px; metin-dekorasyon:yok; genişlik:otomatik; renk:#fff; arka plan: #237697; } .pagination a:hover{ renk:#fff; arka plan: #000; } .pagination .current{ dolgu:6px 9px 5px 9px; arka plan: #999; renk:#fff;
Bu kodun sonucunu görmeye hazırız. Özel yazı tipi sayfalandırmasını görüntülemek için ikinci adımda oluşturduğumuz özel sayfa şablonu ile yeni bir sayfa oluşturmanız gerekir.
Bu sayfayı oluşturduktan sonra, sayfanın sorguladığımız özel yazı tipini ve oluşturduğumuz sayfalandırmayı aşağıdaki resimde gösterildiği gibi gösterdiğini görmelisiniz:
Son düşünceler
Özel gönderi türü sayfalandırması oluşturmak için, özel sayfa şablonu oluşturmanız, görüntülemek istediğiniz tüm özel gönderileri almak için özel sorguyu eklemeniz ve function.php'ye eklediğiniz özel sayfalandırma işlevini çağırmanız gerekir. Bu kodun tamamını almak için onu git deposuna ekledim ve ona buradan erişebilirsiniz – WordPress Özel Yazı Tipi Sayfalandırma.