Saya membina laman web Wordpress dengan halaman yang dipanggil "Nieuwsberichten". URL kelihatan seperti
https://www.example.com/newsitems
Halaman ini dinamik, saya memerlukan parameter tambahan yang dipanggil "halaman_berita"
https://www.example.com/news/?news_page=recent
URL di atas tidak mesra, jadi saya mencipta peraturan tulis semula untuk ini dan menambah pembolehubah "news_page".
fungsi.php
function add_query_vars($vars){ $vars[] = 'news_page'; return $vars; } add_filter( 'query_vars', 'add_query_vars', 10, 1 ); function rewrite_paged(){ add_rewrite_rule('^nieuwsberichten/([0-9]+)/?', 'nieuwsberichten?news_page=$matches[1]', 'top'); } add_action('init', 'rewrite_paged');
Saya telah menyegarkan pautan kekal Menu -> Tetapan -> Pautan kekal -> Simpan
Jika saya menyemak imbas ke
https://www.example.com/news/recent/
Ia akan mengubah hala ke
https://www.example.com/newsmessages/
Apa yang saya hilang dalam kod saya?
Semoga seseorang boleh membantu saya menyelesaikan masalah ini
Dalam bahagian regex anda hanya menentukan entri berangka tetapi menghantar teks seperti "terhampir" dalam url. Mungkin kesilapan terletak di sini. Sila semak sama ada ia berfungsi untuk input angka dan edit ungkapan anda jika itu masalahnya. Selain itu, struktur url yang anda nyatakan nampaknya tidak betul.
Apa pun, saya tidak pasti tentang jawapan saya, jadi saya menghargainya jika anda boleh mengesahkannya selepas menyemak.
https://developer.wordpress.org/reference/functions/add_rewrite_tag/一个> Ini mungkin fungsi yang perlu anda gunakan untuk menambah parameter. Fungsi ini juga tidak memerlukan fungsi query_var. Jadi saya rasa anda tidak perlu menggunakan fungsi lain.
Saya tidak dapat menyemak atau mengujinya sekarang. Jika isu anda tidak diselesaikan, saya akan menelitinya dengan lebih terperinci.
Anda boleh menggunakannya seperti ini:
Selain itu, jika anda menunjuk ke halaman, anda perlu menggunakan ID halaman atau nama halaman. Blog atau produk dll. Jika ya, masih terdapat parameter yang anda perlu gunakan dan anda harus mengubah hala URL ini ke index.php. Saya tinggalkan contoh untuk anda memahami perkara yang saya perkatakan, dan untuk memudahkan anda melihat, anda boleh melihat penulisan semula di tapak web anda seperti ini:
Lihat contoh:
Contoh:
Nama halaman yang sepadan:
ID halaman yang sepadan:
Contoh anda betul jika anda memasang di luar WordPress, tetapi jika ia berada di dalam WordPress, semua permintaan harus diarahkan ke index.php. Jadi anda mungkin perlu mengedit kod yang saya berikan seperti contoh ini.