Wordpress kullanıcılarının, komut dosyası ve html snippet'ini kopyalayarak / postlarının gövdelerine (elbette gerçek olmayan dünya örneği) yapıştırarak kullandıkları bir üçüncü taraf komut dosyasıyla ilgili bir sorunu ayıklamaktayım:
<script>
window.foobar = window.foobar || { hello: function(){ console.log('Hello World'); } };
window.foobar.hello();
</script>
Bazı wordpress kurulumlarının bunu CDATA'da saracağını fark ettim, bazıları olmayacak (muhtemelen bir çeşit DOCTYPE kontrolü yaparak - bunu test ettiğim tüm temalar bir HTML5 dokümanı kullanıyor olsa da).
Ancak, komut dosyasını CDATA'ya sararken kullanıcılar şu hata tarafından ısırılır: https://core.trac.wordpress.org/ticket/3670 (kapanış >
yanlış değiştirildi >
), bu da tarayıcının komut dosyası içeriğini yok saymasına neden oluyor :
<script>// <![CDATA[ window.foobar = window.foobar || { hello: function(){ console.log('Hello World'); } }; window.foobar.hello(); // ]]></script>
Çok fazla WP-Fu'ya sahip değilim ve googling sadece sorunu olduğu gibi tanımlamama neden oldu, bu yüzden sorum şu olurdu: WordPress satır içi komut dosyalarını CDATA bölümlerine tam olarak ne zaman sarıyor? Kullanıcı bir şekilde bu davranışı önleyebilir mi? Kullanıcı WP çekirdeğini değiştirmeden bir şekilde yukarıdaki hata etrafında çalışabilir mi?