Bagaimana saya bisa mengambil URL saat ini (apakah homepage, arsip, jenis arsip posting, kategori arsip, dll) tapi selalu tanpa satu /page/{pagenum}/
bagian jika ada itu? Jadi, jika URL sebenarnya adalah:
example.com/category/uncategorized/
ATAU
example.com/category/uncategorized/page/2/
maka nilai pengembalian akan selalu menjadi
example.com/category/uncategorized/
permalinks
pagination
urls
Ihor Vorotnov
sumber
sumber
Jawaban oleh Govind Kumar berfungsi, namun, itu hanya mengembalikan URL jika / halaman / {pagenum} / ada di URL dan tidak mengembalikan apa pun jika tidak. Saya membutuhkan solusi universal yang akan selalu mengembalikan URL dasar tanpa pagination, jadi saya memodifikasi sedikit kode Govind dan membungkusnya menjadi sebuah fungsi:
Sekarang, selalu mengembalikan URL yang benar.
( Ini berguna jika Anda perlu menerapkan beberapa jenis filter posting yang menambahkan param ke filter posting oleh, katakanlah, meta diajukan. Jadi, bahkan jika pengguna menetapkan param filter di halaman X, hasil yang difilter baru akan selalu mulai dari URL dasar, bukan halaman X dan melemparkan 404 jika ada lebih sedikit posting yang difilter. )
sumber
/page
substring yang menjadi bagian dari nama domain (jika www tidak digunakan, tentu saja). Itu, imo, lebih merupakan kasus tepi. Namun, saya mendorong Anda untuk berkontribusi dengan menambahkan kode yang akan mencakup kasus ini juga.Sebenarnya cara termudah adalah dengan menggunakan
get_pagenum_link()
yang akan mengembalikan Anda URL saat ini tanpa/page/*
paramaters.Bonus
Anda juga dapat menggunakannya untuk membuat tautan "Sebelumnya" dan "Berikutnya" secara dinamis menggunakan
'paged'
variabel kueri:sumber
Spesifik saya sangat mirip dengan Ihor Vorotnov, kecuali saya memiliki lebih dari satu parameter. Jadi, mulai dari jawabannya, saya memodifikasi kode untuk menggunakan ekspresi reguler:
sumber
Jika Anda ingin menghapus semua kombinasi pagination yang mungkin, gunakan snippet ini:
Itu akan diurus
dan case-sensitive, berfungsi untuk nomor halaman pagination dan juga akan menghapus kombinasi nomor / nomor / nomor tambahan ... (tes di sini: https://regex101.com/r/9fQaLC/1 )
Jika Anda ingin mendapatkan url lengkap dengan memimpin http, tambahkan saja
Di baris itu Anda juga dapat menambahkan parameter GET kustom seperti itu
sumber
Sementara pertanyaan ini sudah dijawab di sini (tidak diterima), potongan ini harus melakukan trik:
home_url(add_query_arg(NULL, NULL));
.sumber
page/{pagenum}
.sumber