Kimse bana sümüklü böcek üretme işlevi sağlayabilir mi?

Dec 30 2020

Wordpress'in sümüklü böcek oluşturmak için kullandığı işlevler çeşitli işlevlere ve filtrelere dağılmıştır. Hepsini bulamıyorum. Herhangi biri bana sümüklü böcek oluşturmak için tek bir php işlevi sağlayabilir mi? Wordpress'in tüm işlevlerine ihtiyacım yok, sadece latin olmayan karakterleri kodlamam ve url'de izin verilmeyen geçersiz karakterleri kaldırmam gerekiyor.

Bu gönderi bir işlev sağlar, ancak latin olmayan karakterleri işleyemez.

Teşekkürler!

Yanıtlar

1 TomJNowell Dec 30 2020 at 21:14

Bu gönderi bir işlev sağlar, ancak latin olmayan karakterleri işleyemez.

Bunun nedeni, URL'lerin latin olmayan / ASCII karakterlere sahip olmamasıdır.

Tarayıcılar size latin olmayan karakterler gösterebilir, ancak bu yalnızca bir kullanıcı arayüzü özelliğidir.

Örneğin, bu Vikisözlük URL'sini ziyaret ederseniz:, https://en.wiktionary.org/wiki/わかもの#Japanesetarayıcınızın URL'si gerçek URL'yi almak için Japonca karakterleri kodlar: https://en.wiktionary.org/wiki/%E3%82%8F%E3%81%8B%E3%82%82%E3%81%AE#Japaneseardından URL, URL'yi görüntülerken kodunu çözer. Yüzde işaretli sürüm gerçek URL'dir.

Aynı şekilde diğer ASCII olmayan karakter kodlarıyla, örneğin Arapça. Slug ile bir gönderi oluşturursanız わかものve veri tabanını kaydedip kontrol ederseniz, göremezsiniz わかもの, göreceksiniz %e3%82%8f%e3%81%8b%e3%82%82%e3%81%ae. Aynı şekilde kullanıcı arayüzü size Japonca karakterleri gösterecektir, ancak bağlantıyı kopyalarsanız kodlanmış sürümü alırsınız.

Daha sonra veritabanını güncellersek ve gönderinin bilgisini olarak değiştirirsek わかもの, gönderi artık yüklenemez ve bir 404 elde ederiz. Bunun nedeni bilgi bilgisinin geçersiz olması ve bu sümüklü böcekle eşleşen bir URL'nin yüklenmesinin mümkün olmamasıdır.

evet, latin olmayan karakterlerin% xx olarak kodlanmasına ihtiyacım var

Buna ihtiyacın urlencodevarecho urlencode( $slug )