Adakah yang bisa memberi saya fungsi untuk menghasilkan siput?
Fungsi yang digunakan Wordpress untuk menghasilkan siput tersebar di beberapa fungsi dan filter. Saya tidak dapat menemukan semuanya. Adakah yang bisa memberi saya fungsi php tunggal untuk menghasilkan siput? Saya tidak membutuhkan semua fungsi Wordpress, hanya perlu menyandikan karakter non-latin dan menghapus karakter ilegal yang tidak diperbolehkan di url.
Posting ini menyediakan fungsi, tetapi tidak dapat menangani karakter non-latin.
Terima kasih!
Jawaban
Posting ini menyediakan fungsi, tetapi tidak dapat menangani karakter non-latin.
Itu karena URL tidak boleh memiliki karakter non-latin / ASCII.
Peramban mungkin menampilkan karakter non-latin kepada Anda, tetapi itu hanya fitur antarmuka pengguna.
Misalnya, jika Anda mengunjungi URL Wiktionary ini:, URL https://en.wiktionary.org/wiki/わかもの#Japanese
browser Anda menyandikan karakter jepang untuk mendapatkan URL yang sebenarnya: https://en.wiktionary.org/wiki/%E3%82%8F%E3%81%8B%E3%82%82%E3%81%AE#Japanese
lalu URL mendekodekannya saat menampilkan URL. Versi dengan tanda persentase adalah URL asli.
Begitu juga dengan kode karakter non-ASCII lainnya, misalnya bahasa Arab. Jika Anda membuat posting dengan siput わかもの
kemudian menyimpan dan memeriksa database, Anda tidak akan melihat わかもの
, Anda akan melihat %e3%82%8f%e3%81%8b%e3%82%82%e3%81%ae
. Begitu juga UI akan menampilkan karakter Jepang, tetapi jika Anda menyalin tautannya, Anda mendapatkan versi yang dikodekan.
Jika kita kemudian memperbarui database dan mengubah slug posting menjadi わかもの
, posting sekarang tidak dapat dimuat, dan kita mendapatkan 404. Itu karena slug tidak valid dan tidak mungkin memuat URL yang cocok dengan slug itu.
ya, saya memerlukan karakter non-latin untuk dikodekan sebagai% xx
Anda perlu urlencode
ituecho urlencode( $slug )