Kecualikan beberapa kategori WordPress dari penomoran halaman. Cara mengecualikan posting dan kategori dari halaman beranda WordPress, rss feed, kategori dan arsip tanpa plugin

Di halaman beranda, serta di halaman kategori, arsip, dan hasil pencarian, biasanya diperlukan navigasi halaman (juga dikenal sebagai pagination). Tak terkecuali blog di WordPress, juga menggunakan pagination, dimana hasil keluaran informasinya dibagi menjadi beberapa halaman.

Sebelumnya, untuk mengimplementasikan fitur ini, digunakan plugin pihak ketiga atau fungsi khusus yang terletak di file fungsi.php. Namun, dengan dirilisnya WordPress versi 4.1, fitur pagination dibangun ke dalam inti CMS, dan kini fungsi internal WordPress sudah cukup untuk mengimplementasikan navigasi halaman dan tidak perlu menambahkan kode atau plugin pihak ketiga.

Saya menulis sebelumnya tentang peningkatan serupa dari WordPress mengenai tag TITLE - https://aboutwordpress.ru/post/wordpress-title/.

Apa itu penomoran halaman

Pagination adalah pembagian informasi menjadi beberapa halaman. Konsep ini juga berarti penomoran halaman secara berurutan, ditunjukkan dengan angka-angka yang terletak di bagian bawah, atas atau samping halaman.

WP-PageNavi - plugin paginasi WordPress

Plugin pagination paling populer untuk WordPress adalah WP-PageNavi. Sejujurnya, ini mengatasi tugas penomoran halaman dengan sangat baik sehingga tidak ada gunanya mendiskusikan dan membandingkan plugin lain.

Penomoran halaman WordPress - plugin WP-PageNavi

Paginasi WordPress tanpa plugin

Untuk melakukan penomoran halaman di situs web tanpa plugin, kami akan menggunakan fungsi bawaan WordPress the_posts_pagination(). Di tempat yang kita perlukan, kita perlu memasukkan kode berikut (biasanya ini adalah file indeks.php, kategori.php dan sejenisnya):

Hasil dari fungsi the_posts_pagination() kira-kira seperti kode HTML berikut:

Menghapus Judul H2 dari Pagination

Header H2 “Navigasi Pos” langsung menarik perhatian Anda. Yang dalam banyak kasus tidak mempunyai tempat di situs. Untuk menghilangkannya, tambahkan kode berikut ke file fungsi.php:

/* Hapus H2 dari penomoran halaman */ add_filter("navigation_markup_template", "my_navigation_template", 10, 2); fungsi my_navigation_template($template, $class)( kembali "

"; }

Menyiapkan halaman pagination

Secara default, the_posts_pagination() menampilkan halaman pertama dan terakhir, serta satu halaman di sekitar halaman saat ini. Semua yang lain diganti dengan elipsis. Perilaku ini dapat diubah menggunakan argumen:

  • show_all - tampilkan semua halaman
  • end_size - jumlah halaman di awal dan akhir daftar
  • mid_size - jumlah halaman di kiri dan kanan halaman saat ini

Misalnya seperti ini:

2, "ukuran_akhir" => 2,)); ?>

Gaya Paginasi CSS

Nomor halaman ( padding: 1% 2%; bayangan kotak: 0 0 10px #ccc; margin: 0 1% 0 0; latar belakang: #fff; radius batas: 3px; )

Tautan ke halaman penomoran halaman dengan gaya ini akan terlihat seperti ini:

…Bagaimana cara melakukannya? ...secara umum, tidak sulit. Dan jika tugasnya justru melarang tampilan kategori tertentu, maka kami akan menyelesaikan masalah ini dalam beberapa menit.

Namun, ada kendalanya -

...menyelesaikan masalah pelarangan tampilan kategori di widget, muncul hubungan suram dengannya, yaitu pertanyaan: bagaimana cara mengkonfigurasi tampilan kategori dalam urutan yang perlu dan logis, tetapi tidak semrawut!?


...kamu harus berpikir keras tentang hal itu. ...dan jelaskan kebutuhan Anda dengan jelas. Namun hal pertama yang pertama: dan pada akhirnya saya akan memberi Anda solusi sempurna dan cerdik untuk memfilter kategori...

menggunakan kemudahan kode Saat menerapkan larangan/izin terhadap konten blog yang diperlukan/tidak perlu, ada baiknya mengingat beberapa perspektif untuk pengembangan situs Anda, agar tidak menemui “kejutan” lain yang menyertainya. menjadi atau tidak menjadi membangun kembali blog di masa depan - baik dengan mengedit file atau mengganti plugin.

Lagi pula, selalu ada alternatif: apakah akan menggunakan plugin (nomornya "...seperti bercinta..." tidak selalu bagus), atau menulis kode di file fungsi - f unctions.php (tidak buruk, tetapi tidak menyelesaikan masalah dengan jelas)!?

Ambil keputusan!..

Saya telah menunjukkan kemungkinan kekurangan teknis dari awal blogging yang tidak dipikirkan dengan matang, dan sekarang saya menawarkan kemungkinan cara solusi logis:

Jika Anda hanya perlu menyembunyikan kategori widget WordPress tertentu, yang secara default ada di bagian dalam situs baru mana pun, maka itu sederhana.

Kami membuka file yang sedang kita bicarakan function.php dan di suatu tempat di decoding terakhirnya) sebelum tag?> kami menulis filter berkode gagah ini.

// KODE PENGECUALIAN RUBRIK fungsi awal ext_widget_categories($args)( $exclude = "39"; $args["exclude"] = $exclude; return $args; ) add_filter("widget_categories_args","ext_widget_categories"); //KODE PENGECUALIAN UNTUK RUBRIK berakhir

Angka 39 menunjukkan id kategori, yang disaring seperti bazar tidak berguna di situs.

Anda dapat menentukan beberapa, dipisahkan dengan koma.

...Itu saja, salah satu pertanyaan sudah ditutup.

cara menyembunyikan tampilan subkategori di widget

Solusinya ada pada versi kode tepat di bawah ini, yang melarang/mengizinkan tampilan nama subkategori tertentu (postingan blog anak).

// kode keluaran untuk satu-satunya subkategori dari suatu kategori dengan ID yang ditentukan=7 start function ext_widget_categories($args)( $args["child_of"] = 7; return $args; ) add_filter("widget_categories_args","ext_widget_categories") ; //kode keluaran untuk satu-satunya subkategori dari kategori dengan akhir ID=7 yang ditentukan

Argumentasi kode-kode ini dapat digabungkan.

Ini dia!! Kami telah mencapai kontrol penuh atas kontrol DISPLAY di widget "Kategori" di semua kategori Anda.

...tapi - namun, kami katakan!! Sering terjadi bahwa beberapa waktu kemudian, setelah membuka halaman website, satu lagi cacat ditemukan: judul-judul di widget sidebar tidak terletak dalam urutan yang logis (sembarangan) - kecerobohan dalam mengembangkan profesionalisme, lho.

Dalam hal ini, Anda juga harus memilih dari beberapa opsi bagus:

Mari kita pergi ke repositori plugin WordPress - jalur: console/plugins/add plugin/...install/activate... sungguh keajaiban Urutan Kategori dan Ketentuan Taksonomi Urutan.

Terjemahan teknis dari kutipan ke plugin:
Kategori Urutan dan semua istilah taksonomi (secara hierarki khusus) dan istilah turunan menggunakan kemampuan Javascript yang dapat diurutkan seret dan lepas.
Plugin ini tidak memiliki pengaturan yang membingungkan: yang perlu Anda lakukan hanyalah mengarahkan kursor ke “catatan” di sebelah kiri konsol, dan melihat item Urutan Taksonomi...

Semuanya secara paradoks sederhana: dengan menyeret papan, konfigurasikan urutan optimal untuk menampilkan nama judul yang ada.

Kerugian dari metode “plugin” antara lain sebagai berikut: Anda tidak dapat melarang tampilan kategori tertentu...

Oleh karena itu, Anda harus menggunakan kode yang disarankan di atas, atau plugin yang ditunjukkan di bawah...

Kami melarang tampilan beberapa kategori menggunakan plugin NS Category Widget

...mari kita kembali ke penyimpanan WordPress dan mengunduh plug NS Category Widget - “lompatan” ini akan memberi kita pengaturan lain, namun lebih elegan selain widget “Categories” yang sudah ada: yaitu - widget biasa harus dihapus atau tersembunyi di "tidak aktif", dan konfigurasikan opsi lanjutan ini untuk mengelola konten: menampilkan/memblokirnya.

Buka pengaturannya dan tetapkan aturan Anda sendiri: berdasarkan id kategori, pentingnya hierarki, dan penyesuaian serupa... Sederhana saja!

Plugin ini memungkinkan Anda untuk menggunakan banyak unit widget pada tingkat halaman yang diperlukan, yang pengaturannya bersifat individual, tidak seperti "kategori" standar, di mana Anda dapat menampilkan setidaknya selusin, tetapi pengaturan kode "atas" akan berlaku untuk semua orang: ini adalah kelemahan dari kemampuan untuk menghubungkan widget "kategori" standar dan kode yang dijelaskan di awal artikel... Dan jika Anda berencana menggunakan beberapa opsi untuk widget kategori, maka Anda tetap harus menggunakan unduh plugin NS Kategori Widget.

TETAPI! di versi lanjutan tidak ada urutan pengurutan kategori yang lebih sederhana dan lebih halus - inilah kelemahannya. Kebingungan seperti itu!

Keputusan ada di tangan Anda...

...jika Anda melihat sendiri sesuatu yang berguna di artikel itu, bagus!

Hallo teman-teman!

Hari ini akan ada artikel teknis yang akan menunjukkan cara mengecualikan postingan dari halaman utama situs WordPress.

Anda juga akan mempelajari cara mengecualikan seluruh kategori, bukan hanya entri tertentu. Saya akan menunjukkan kepada Anda banyak pilihan, baik dengan atau tanpa plugin. Secara umum, semuanya seperti biasa.

Dalam kasus apa sebaiknya digunakan?

Kebutuhan untuk mengecualikan beberapa posting, yaitu pengumuman mereka, dari halaman utama sebagian besar ada di blog pribadi, padahal selain artikel besar dan berkualitas tinggi untuk audiens reguler, ada baiknya juga mengisi sumber daya dengan artikel sederhana yang dioptimalkan SEO .

Artikel seperti itu sepertinya tidak akan berguna bagi anggota blog, karena mereka sudah mengetahui semua ini. Agar tidak mengotori halaman utama dengan pengumuman yang tidak perlu, lebih baik tidak menampilkannya. Pada saat yang sama, mereka harus ditambahkan ke situs untuk menarik audiens baru ke sumber daya dari mesin pencari. Mereka juga perlu ditampilkan, tetapi ini harus dilakukan pada halaman bagian dan arsip, sehingga pendatang baru dapat menemukannya menggunakan navigasi melalui bagian situs.

Misalnya, Anda tidak akan menemukan artikel ini di halaman utama blog saya di halaman pagination (navigasi halaman) mana pun. Pada saat yang sama, pengumuman artikel dapat dilihat di bagian “Berguna” dan di halaman peta situs “Semua Artikel”.

Tanpa plugin

Metode tanpa plugin selalu lebih disukai, tetapi dalam hal ini tidak akan menjadi prioritas, karena untuk mengecualikan beberapa artikel Anda harus membuat perubahan pada file template yang telah Anda instal setiap saat. Namun tetap saja, saya akan menunjukkan beberapa opsi berbeda untuk menerapkan solusi semacam itu, karena kemungkinan besar ini cocok untuk Anda.

Di bawah ini saya akan memberikan berbagai potongan kode yang harus ditempatkan di file template function.php.

Tidak termasuk catatan tertentu berdasarkan ID

Dalam opsi ini, tidak perlu menyembunyikan seluruh kategori dari visibilitas di halaman utama, seperti yang banyak dilakukan dengan bantuan berbagai plugin. Yang harus Anda lakukan adalah menambahkan ID dari catatan yang diperlukan dalam kode.

fungsi kecualikan_post($query) ( if ($query->is_home) ($query->

jika ($kueri -> is_home )

( $kueri -> // identitas postingan

kembalikan $permintaan; )

Pada baris ke 3, angka 1 dan 2 merupakan catatan ID yang tidak akan muncul di halaman beranda. Anda perlu menulisnya dipisahkan dengan koma.

Anda akan mengetahui ID postingan, halaman, dan kategori di bilah alamat browser saat melihat melalui editor.

Opsi selanjutnya memungkinkan Anda mengecualikan entri dari RSS feed.

Pengecualian dari RSS feed

Kode ini memungkinkan Anda mengecualikan pengumuman dari umpan berita dan tidak mengirimkannya melalui email jika Anda menggunakan layanan berlangganan dan pengumuman menggunakan Feedburner.

fungsi kecualikan_post($query) ( if ($query->is_feed) ($query->set("post__not_in", array(1, 2));) // posting (postingan) id kembalikan $query; ) add_filter(" pre_get_posts","exclude_post");

fungsi kecualikan_post ($kueri) (

jika ($kueri -> is_feed )

( $query -> set ("post__not_in" , larik ( 1 , 2 ) ) ; ) // identitas postingan

kembalikan $permintaan; )

add_filter("pre_get_posts" , "exclude_post" ) ;

Menambahkan catatan dalam kasus ini dan semua kasus lainnya terjadi dengan cara yang sama.

Pengecualian dari kategori dan arsip

Untuk mengecualikan postingan dari halaman kategori, Anda harus menggunakan kode berikut.

fungsi mengecualikan_post($query) ( if ($query->is_category) ($query->set("post__not_in", array(1, 2));) // posting (posting) id kembali $query; ) add_filter(" pre_get_posts","exclude_post");

fungsi kecualikan_post ($kueri) (

jika ($kueri -> is_category )

( $query -> set ("post__not_in" , larik ( 1 , 2 ) ) ; ) // identitas postingan

kembalikan $permintaan; )

add_filter("pre_get_posts" , "exclude_post" ) ;

Kode ini dapat dimodifikasi untuk menerapkan pengecualian dari arsip. Fungsi is_category perlu diganti dengan is_archive di gedung ke-2.

Pengecualian dari halaman pencarian

Opsi ini mungkin juga diperlukan jika beberapa catatan tidak ditampilkan kepada pengunjung saat mereka menggunakan pencarian situs. Misalnya, berbagai artikel berita yang tidak memuat konten tentang subjek situs.

fungsi mengecualikan_post($query) ( if ($query->is_search) ($query->set("post__not_in", array(1, 2));) // id postingan mengembalikan $query; ) add_filter(" pre_get_posts", "kecualikan_postingan");

fungsi kecualikan_post ($kueri) (

jika ($kueri -> is_search )

( $query -> set ("post__not_in" , larik ( 1 , 2 ) ) ; ) // identitas postingan

kembalikan $permintaan; )

add_filter("pre_get_posts" , "exclude_post" ) ;

Menggabungkan beberapa opsi

Anda dapat menggabungkan semua opsi di atas dan mengecualikan catatan dari semua jenis halaman sekaligus atau secara selektif pada halaman yang diperlukan.

Jika Anda perhatikan baik-baik semua kodenya, maka pada baris ke-2 Anda dapat melihat kondisi di mana parameter jenis halaman diatur untuk menonaktifkan tampilan pengumuman posting di dalamnya:

  • adalah_pencarian
  • adalah_kategori
  • is_feed
  • adalah_rumah

Anda dapat menggabungkan semua opsi dan mengecualikan postingan dari mana saja atau di halaman tertentu. Misalnya, untuk pengecualian dari kategori dan utama, Anda harus menempatkan kode berikut di file fungsi.php.

fungsi mengecualikan_post($query) ( if ($query->is_category || ($query->is_home)) ($query->set("post__not_in", array(1, 2));) // id postingan ) kembali $query; ) add_filter("pre_get_posts","exclude_post");

fungsi kecualikan_post ($kueri) (

if ($query -> is_category || ($query -> is_home ) )

( $query -> set ("post__not_in" , larik ( 1 , 2 ) ) ; ) // identitas postingan

kembalikan $permintaan; )

add_filter("pre_get_posts" , "exclude_post" ) ;

Baris ke-2 dengan kondisi (if) berisi parameter untuk kategori (is_category) atau home (is_home).

Perhatikan bahwa setiap parameter berikutnya ditulis di dalam parameter sebelumnya melalui 2 batang vertikal dan ditempatkan dalam tanda kurung tersendiri. Artinya, jika Anda melihat kode sebelumnya, Anda akan melihat bahwa kondisi kedua untuk halaman utama diapit dalam tanda kurung sendiri dan berada di dalam tanda kurung umum yang membungkus kondisi pertama untuk kategori-kategori tersebut.

Jika perlu ditambahkan syarat ketiga, misalnya untuk halaman arsip, maka perlu ditambahkan di dalam tanda kurung dengan syarat utama (is_home) dan dituliskan melalui 2 batang vertikal. Dalam prakteknya terlihat seperti ini.

fungsi mengecualikan_post($query) ( if ($query->is_category || ($query->is_home || ($query->is_archive))) ($query->set("post__not_in", array(1, 2) );) // id postingan kembali $query; ) add_filter("pre_get_posts","exclude_post");

fungsi kecualikan_post ($kueri) (

if ($query -> is_category || ($query -> is_home || ($query -> is_archive ) ) )

( $query -> set ("post__not_in" , larik ( 1 , 2 ) ) ; ) // identitas postingan

kembalikan $permintaan; )

add_filter("pre_get_posts" , "exclude_post" ) ;

Dengan menggunakan prinsip yang sama, tambahkan jenis halaman lain yang akan dikecualikan.

Opsi berikutnya untuk mengecualikan catatan adalah dengan mengecualikan seluruh judul (kategori).

Tidak termasuk seluruh kategori

Ini sangat nyaman bagi orang yang malas, ketika Anda cukup membuat semacam kategori dan menambahkan semua postingan di sana yang tidak memerlukan tampilan pada jenis halaman tertentu.

Struktur kodenya hampir sama. Itu hanya mengubah parameter yang menentukan pengecualian postingan atau kategori. Dalam kasus yang dibahas sebelumnya, baris terakhir disetel ke kecualikan_posting. Dalam kode baru itu harus diganti dengan pengecualian_cat.

fungsi kecualikan_cat($query) ( if ($query->is_home) ($query->set("cat","-1, -2, -3");) // id kategori mengembalikan $query; ) add_filter( "pre_get_posts","exclude_cat");

fungsi kecualikan_cat ($kueri) (

jika ($kueri -> is_home )

( $query -> set ("kucing" , "-1, -2, -3" ) ; ) // id kategori

kembalikan $permintaan; )

add_filter("pre_get_posts" , "exclude_cat" ) ;

Seperti yang Anda lihat, baris terakhir telah mengalami perubahan dan baris ke-3, dimana parameter yang membaca ID kategori telah diubah. ID dalam hal ini ditulis dengan tanda hubung, tetapi juga dengan koma.

Prinsip membangun kondisi untuk tipe halaman mirip dengan opsi yang dibahas sebelumnya, di mana saya menunjukkan contoh pengecualian postingan tertentu. Sebaiknya ubah baris ke-2, tambahkan parameter yang diperlukan untuk kategori, pencarian, arsip, atau umpan RSS.

Jadi, kami memeriksa metode tanpa plugin. Ada juga opsi untuk mengecualikan entri tentang tag, tetapi sekarang tag tidak lagi relevan untuk 99% sumber daya. Jika Anda memerlukan informasi seperti itu, silakan tulis di komentar. Saya akan menambahkan semuanya segera.

Plugin

Plugin adalah solusi yang lebih fleksibel dalam hal ini, karena ketika mengecualikan entri tertentu, tidak perlu mengedit file template setiap saat. Sebaiknya beri tanda centang di editor postingan yang diinginkan saat atau setelah menerbitkannya.

Jika ada baiknya mengecualikan kategori khusus yang dibuat untuk artikel yang tidak memerlukan tampilan, maka lebih baik menggunakan salah satu kode yang disediakan di atas.

Cukup Kecualikan plugin

Anda dapat mengunduh plugin melalui konsol WordPress menggunakan pencarian, atau dari situs resmi WordPress.

Setelah aktivasi, ini sudah berfungsi dan Anda tidak perlu mengkonfigurasinya. Namun tetap saja, saya menyarankan untuk membuat beberapa perubahan agar bekerja dengan fungsinya lebih menyenangkan.

Setelah instalasi dan aktivasi, kita langsung masuk ke pengaturannya.

Awalnya, semuanya diatur dalam pengaturan plugin sehingga ketika kotak centang diaktifkan (kita akan melihatnya di bawah), halaman yang diperlukan (postingan, kategori, halaman) akan ditandai sebagai "diizinkan untuk ditampilkan". Jadi, untuk setiap jenis halaman Anda perlu mencentang semua kotak agar semuanya ditampilkan.

Akan lebih logis untuk mengatur opsi ini ketika, dengan mengaktifkan kotak centang (misalnya, untuk halaman utama), itu akan menandai sebuah artikel atau hal lain sebagai dilarang untuk ditampilkan.

Ada 3 tab dalam pengaturan yang dirancang untuk mengonfigurasi pengaturan untuk berbagai jenis halaman:

  • Taksonomi (taksonomi) - pengaturan fungsi plugin di bagian panel admin WordPress: kategori dan tag;
  • Jenis postingan - untuk jenis postingan: artikel dan halaman;
  • Pengguna - pengaturan untuk pengguna.

Sekarang saya akan memberikan screenshot pengaturan tab pertama (taksonomi) dan menjelaskan parameter yang harus diatur.

  • Di blok pengaturan pertama "Aktif" Anda perlu menyetel kotak centang "Aktif" sehingga plugin menambahkan kotak centang yang diperlukan untuk menonaktifkan tampilan dalam kategori atau jenis halaman lainnya;
  • Di blok kedua kami mengatur semua parameter di seberang opsi "Kecualikan". Artinya, jika kotak centang diaktifkan di editor setiap jenis halaman, maka kotak tersebut akan disembunyikan dari tampilan dan artikel baru akan dibuka untuk ditampilkan secara default. Jika Anda menyetel parameter "Sertakan saja", maka dengan mencentang kotak tersebut, entri akan terbuka untuk ditampilkan dan artikel baru akan disembunyikan secara default. Jika opsi kedua “Sertakan saja” dipilih, maka setelah menginstal plugin, semua entri akan disembunyikan dan Anda perlu menyetel opsi “Kecualikan”;
  • Di blok "Tampilkan/Sembunyikan", atur parameter "Tampilkan" sehingga kotak centang yang diperlukan ditampilkan di setiap jenis halaman untuk kemampuan menonaktifkan atau mengaktifkan tampilan.

Parameter yang sama harus dimasukkan pada 2 tab tersisa pada pengaturan plugin Simply Exclude.

Misalnya, berikut adalah tangkapan layar tab "Jenis kiriman".

Tentu saja, Anda dapat menonaktifkan fungsi beberapa fungsi, misalnya, pada tab pertama Anda dapat menonaktifkan plugin untuk kategori jika kami tidak akan mengecualikan semua postingan dari keseluruhan kategori.

Sekarang tentang cara kerja plugin itu sendiri. Ketika Anda telah menetapkan parameter yang diperlukan, Anda dapat pergi ke editor untuk setiap jenis posting dan memberi tanda centang di sebelah halaman di mana Anda ingin mengecualikan tampilannya.

Misalnya, untuk mengatur pengaturan postingan, Anda dapat pergi ke editor artikel yang diperlukan atau melalui item semua artikel. Baik di sana maupun di sana akan ada kotak centang yang diperlukan. Di editor, di kolom kanan akan ada blok “Cukup Kecualikan” yang berisi 4 kotak centang untuk menyembunyikan postingan dan halaman:

  • Arsip - kategori dan arsip;
  • Umpan - Umpan RSS;
  • Depan/Beranda - utama;
  • Pencarian - pencarian.

Dengan mencentang kotak yang diperlukan, Anda dapat menyembunyikan postingan dari jenis halaman tertentu.

Di panel admin WordPress "Semua postingan" di seberang setiap materi di kolom baru bernama "Simply Exclude show" juga akan ada 4 kotak centang ini. Hal yang sama berlaku untuk rubrik. Kolom baru dengan semua kotak centang akan ditambahkan.


Itu saja untuk plugin ini. Dengan menginstalnya, Anda dapat dengan cepat dan fleksibel mengubah parameter tampilan postingan tertentu atau seluruh kategori tanpa mengganggu file template.

Kecualikan plugin Kategori

Plugin ini dimaksudkan hanya untuk menyembunyikan seluruh kategori dari halaman utama dan RSS feed. Karena opsi ini tidak memerlukan banyak fleksibilitas (saya membuat kategori sekali dan menambahkan artikel di sana), saya sarankan menerapkan pengecualian seluruh kategori menggunakan kode (lihat poin 2).

Anda dapat mengunduh plugin menggunakan tombol di bawah.

Setelah menginstalnya, buka pengaturan (Pengaturan - Kecualikan Kategori) dan pilih kategori yang diperlukan untuk mengecualikannya dari halaman utama.

Mengecualikan semua entri dalam suatu kategori adalah opsi umum. Namun saya melihat kekurangannya, karena situs tersebut harus menerbitkan banyak artikel untuk menarik lalu lintas pencarian, dan semuanya akan membahas isu berbeda dengan topik yang sama.

Namun memasukkan berbagai bahan ke dalam satu kategori tidaklah baik.

Opsi ini juga sering digunakan saat aktif menjual link di sebuah website. Pemiliknya membuat bagian dan menerbitkan semua artikel dengan link penjualan di dalamnya. Dan ini juga kurang bagus, karena sekarang webmaster mengharuskan penempatan link di salah satu bagian utama situs agar setidaknya sedikit dapat diklik dan berpengaruh selama promosi.

Itu saja kawan, pada catatan ini saya mengakhiri panduan terperinci ini, yang akan berguna bagi Anda jika Anda datang ke tempat yang tepat untuk artikel ini. Saya harap semuanya berjalan baik untuk Anda.

Saya berharap Anda memiliki suasana hati yang indah dan hari yang indah. Sampai jumpa.

Hormat kami, Konstantin Khmelev!

Hari ini adalah artikel tentang bagaimana Anda dapat secara manual, tanpa menggunakan plugin, mengecualikan kategori dari halaman utama situs WordPress.

Ada beberapa cara untuk mengecualikan postingan dari kategori tertentu di halaman utama situs blog Anda. Salah satu cara termudah menurut saya adalah dengan menambahkan sedikit kode ke file fungsi.php. Potongan kode ini akan menjadi semacam filter yang akan menyelamatkan kita dari keharusan mengubah file tema lainnya. Dengan menggunakan metode ini, Anda tidak perlu membuang waktu untuk mengerjakan ulang siklus keluaran catatan dalam sebuah file indeks.php melalui query_posts.

Jadi, mari kita lihat sebuah contoh:

1) Katakanlah kita perlu menghapus entri dari kategori yang nomor identifikasinya 4, yaitu ID = 4. Dengan kata lain, kita perlu mengecualikan postingan dari kategori yang ID-nya 4 dari halaman utama.

2) Kami telah memutuskan tugasnya, mari mulai menerapkannya - untuk ini kami akan menambahkannya ke file fungsi.php potongan kode berikut:

Fungsi deleteFromHome($query) ( if ($query->is_home) ($query->

Kami menyimpan file yang dimodifikasi fungsi.php dan kami melihat tidak ada lagi entri dari kategori ID=4 di halaman utama.

Dari sudut pandang logika WordPress, halaman utama juga merupakan halaman lain yang dibentuk oleh navigasi halaman. Dengan demikian, kita tidak akan melihat postingan dari kategori yang dikecualikan ID=4 di halaman 2, 3 atau 4, dan seterusnya.

Jika opsi ini tidak cocok untuk Anda, Anda dapat sedikit mengubah kode di atas menjadi ini:

Fungsi deleteFromHome($query) ( if ($query->is_home && !(is_paged())) ($query->set("cat","-5");) return $query; ) add_filter("pre_get_posts" ,"hapusDariRumah");

Kami menyimpan dan sekarang di setiap halaman, kecuali halaman utama, entri dari kategori dengan ID=4 akan ditampilkan secara normal.

Tidak termasuk entri kategori dari hasil pencarian

Jika Anda perlu mengecualikan entri kategori dari halaman hasil pencarian, maka Anda hanya perlu mengubahnya adalah_rumah pada adalah_pencarian.

Untuk mengecualikan entri dari beberapa kategori, Anda perlu mencantumkan ID kategori ini dipisahkan dengan koma pada kode di atas. Katakanlah Anda perlu mengecualikan kategori yang ID-nya 3,7,8,9. Maka kode tersebut akan mengalami perubahan sebagai berikut:

Fungsi deleteFromFeed($query) ( if ($query->is_feed) ($query->set("cat","-3, -7, -8, -9");) mengembalikan $query; ) add_filter(" pre_get_posts","removeFromFeed");

Tidak termasuk entri kategori dari RSS feed

Apa yang harus Anda lakukan jika Anda perlu mengecualikan postingan dari kategori tertentu dari umpan RSS Anda? Dan Anda dapat melakukannya dengan sangat sederhana - gunakan kode di bawah ini:

Fungsi deleteFromFeed($query) ( if ($query->is_feed) ($query->set("cat","-4");) return $query; ) add_filter("pre_get_posts","removeFromFeed");

Kami menyimpan perubahan dan melihat bahwa tidak ada lagi postingan di feed dari kategori yang tidak kami perlukan.

Tidak termasuk entri kategori dari RSS feed dan halaman utama

Jika tiba-tiba Anda perlu memastikan bahwa postingan dari kategori tertentu tidak ditampilkan di halaman utama dan di feed, maka Anda perlu menggunakan kode berikut:

Fungsi hapusCat($query) ( if ($query->is_feed || ($query->is_home && !(is_paged()))) ($query->set("cat","-3,-7") ;) kembalikan $query; ) add_filter("pre_get_posts","removeCat");

Dalam hal ini, entri dalam kategori yang ID-nya 3 tidak akan ditampilkan di halaman utama dan di RSS feed, tetapi akan ditampilkan ketika halaman lain dibuka.

Perubahan pada berkas fungsi.php dapat dimasukkan di mana saja, tetapi tanpa menyentuh kode fungsi lain. Cara termudah adalah dengan menambahkan kode di akhir file.

Diketahui bahwa penomoran halaman menyebabkan duplikasi halaman. Hal ini, pada gilirannya, dapat mengarah pada fakta bahwa situs tersebut mungkin “melorot” dalam hasil pencarian. Dalam hal ini, satu-satunya jalan keluar dari situasi ini adalah memastikan bahwa robot pencari tidak “melihat” adanya penomoran halaman di mana pun di situs.

Bagaimana cara memblokir pagination dari pengindeksan?

Salah satu metode untuk mengatasi masalah ini adalah dengan menambahkan direktif noindex pada halaman penomoran halaman. Pada akhirnya mereka akan terlihat seperti ini:

noindex adalah arahan khusus yang digunakan untuk menunjuk tautan yang tidak diinginkan untuk diindeks oleh mesin pencari. Ketika robot pencari menemukannya, ia akan segera “memahami” bahwa halaman ini tidak perlu diperhitungkan. Dia hanya akan melewatkannya, oleh karena itu tidak akan dimasukkan dalam daftar yang harus ditambahkan ke indeks.

Dari semua cara untuk mengatasi masalah tersebut, yang paling benar dan termudah bagi pengguna WordPress adalah dengan plugin, yang akan menyembunyikan pagination dari mesin pencari dalam dua klik. Untuk melakukan ini, cukup buka bagian admin Hapus Pro, lalu di tab seo aktifkan opsi Noindex untuk penomoran halaman.

Selain pluginnya Hapus Pro, ada cara lain yang kurang nyaman untuk memblokir penomoran halaman dari robot. Mari kita lihat yang paling populer.

Metode 1: file fungsi.php

Metode ini melibatkan penambahan kode PHP khusus ke file tema aktif Anda.

Jika Anda tidak tahu cara mengedit function.php, plugin akan membantu Anda.

Jadi, pada akhirnya Anda perlu menambahkan baris berikut:

Fungsi wpschool_noindex_pagination() ( if(is_paged()) echo " "; ); add_action("wp_head", "wpschool_noindex_pagination");

Sebagai hasil dari kode yang berjalan pada halaman penomoran halaman (mulai dari yang kedua), di bagian tersebut , baris di atas akan muncul:

Metode 2. File robots.txt

Anda juga dapat menambahkan noindex untuk halaman pagination melalui file robots.txt khusus, yang terletak di direktori root situs Anda. Anda perlu menambahkan baris berikut di dalamnya:

Larang: */halaman/

Cara ini mirip dengan cara sebelumnya dan memberikan hasil yang sama.