Baru-baru ini salah satu pengguna kami bertanya kepada kami apakah mungkin menambahkan pos lengket ke arsip jenis pos khusus. Secara default, WordPress memiliki fungsi lengket yang tersedia untuk posting, namun tidak untuk jenis posting lainnya. Pada artikel ini kami akan menunjukkan cara menambahkan postingan lengket di arsip tipe custom post WordPress. Sebelum kita melangkah maju, Anda mungkin ingin belajar membuat jenis posting kustom di WordPress.
Menambahkan Tulisan Sticky di Custom Post Types
Hal pertama yang perlu Anda lakukan adalah menginstal dan mengaktifkan plugin Sticky Custom Post Types. Setelah mengaktifkan plugin, masuk ke Pengaturan »Membaca dan gulir ke bagian Sticky Custom Post Types. Selanjutnya, Anda perlu memilih jenis posting kustom yang Anda inginkan Stick Pilihan ini diaktifkan.
Sekarang apa yang telah kita lakukan di sini adalah bahwa kita telah menambahkan fitur posting lengket ke jenis posting kustom kita. Sticky posts di custom post types akan ditampilkan di halaman depan seperti postingan sticky biasa.
Masalahnya adalah bahwa secara default WordPress hanya menampilkan tulisan lengket di beranda. Ini tidak menunjukkan tulisan lengket pada halaman arsip.
Menampilkan Tulisan Sticky di Custom Post Type Archives
Mari berasumsi bahwa Anda memiliki jenis posting khusus untuk Ulasan Film dengan posting yang lengket yang diaktifkan menggunakan plugin yang telah kami sebutkan di atas. Sekarang Anda ingin tulisan lengket Anda di jenis ulasan film ditampilkan secara berbeda dan di atas ulasan film biasa yang tidak lengket. Seperti ini:
Untuk mencapai tujuan ini, hal pertama yang Anda butuhkan adalah template arsip untuk jenis posting kustom Anda seperti ini: arsip-post-type.php
. Pelajari cara membuat halaman arsip jenis postingan. Misalnya, jika Anda memiliki jenis pos khusus ulasan film
maka template halaman arsip anda seharusnya arsip-film-reviews.php
. Jika Anda tidak memiliki template, buat satu. Cukup salin isi archive.php di direktori theme anda dan paste ke file baru arsip-your-post-type.php
.
Langkah selanjutnya adalah menambahkan kode ini ke dalam tema Anda functions.php
mengajukan:
fungsi wpb_cpt_sticky_at_top ($ posts) { // aplikasikan di arsip saja if (is_main_query () && is_post_type_archive ()) { global $ wp_query; $ sticky_posts = get_option ('sticky_posts'); $ num_posts = count ($ posts); $ sticky_offset = 0; // Temukan tulisan yang lengket untuk ($ i = 0; $ i ID, $ sticky_posts)) { $ sticky_post = $ posts [$ i]; // Lepaskan lengket dari posisi saat ini array_splice ($ posts, $ i, 1); // Pindah ke depan, setelah stickies lainnya array_splice ($ posts, $ sticky_offset, 0, array ($ sticky_post)); $ sticky_offset ++; // Hapus pos dari array tulisan yang lengket $ offset = array_search ($ sticky_post-> ID, $ sticky_posts); tidak diset ($ sticky_posts [$ offset]); } } / / Mencari lebih lengket posting jika diperlukan jika (kosong ($ sticky_posts)) { $ stickies = get_posts (array ( 'post__in' => $ sticky_posts, 'post_type' => $ wp_query-> query_vars ['post_type'], 'post_status' => 'publikasikan', 'nopaging' => benar )); foreach ($ stickies sebagai $ sticky_post) { array_splice ($ posts, $ sticky_offset, 0, array ($ sticky_post)); $ sticky_offset ++; } } } kembalikan $ posts; } add_filter ('the_posts', 'wpb_cpt_sticky_at_top'); // Tambahkan kelas lengket dalam judul artikel ke gaya tulisan lengket secara berbeda fungsi cpt_sticky_class ($ classes) { jika (is_sticky ()): $ classes [] = 'lengket'; kembali $ kelas; berakhir jika; kembali $ kelas; } add_filter ('post_class', 'cpt_sticky_class');
Kode di atas akan memindahkan tulisan lengket Anda ke atas, dan jika tema Anda digunakan post_class ()
fungsinya, maka akan menambah lengket di kelas post.
Anda bisa menata posting lengket Anda dengan menggunakan .lengket
kelas di lembar kerja Anda Contoh:
.sticky { background-color: #ededed; background-image: url ('https://example.com/wp-content/uploads/featured.png'); background-repeat: no-repeat; background-position: kanan atas; }
Kami harap artikel ini membantu Anda menambahkan tulisan lengket di arsip jenis pos khusus. Untuk pertanyaan dan umpan balik silakan tinggalkan komentar di bawah ini.
Sumber: Tareq Hasan