Bir nesne hazır bilgisi içeren bir çalışma javascript var. Ama ben yerelleştirmek gerekir ve ben accp için wp_localize_script () almak ve doğru biçimi çıktı böylece yeniden yazmak nasıl anlamaya ytrying.
Yerelleştirilmemiş (dinamik olmayan) sürüm şöyle görünür:
var layoyt_config = {
'header' : 1
, 'footer' : 1
, 'ls' : {'sb1':1}
, 'rs' : {'sb1':1,'sb2':1}
, 'align' : 'center'
};
Şimdi, php (bazı wp_settings dayalı) tarafından oluşturulan bu değerleri olması için ben oradan alabilir, böylece wp_localize_script kullanmak istiyorum:
var layoyt_config = my_localized_data.layoyt_config;
Ve bu veriyi o nesne özelliğine almak için bunu yapabileceğimi düşündüm, ama belli ki:
$data = array(
'layout_config' => {
'header' : 1
, 'footer' : 1
, 'ls' : {'sb1': 1}
, 'rs' : {'sb1': 1,'sb2': 1}
, 'align' : 'center'
}
);
wp_localize_script('my-script-handle', 'my_localized_data', $data);
Bu PHP ayrıştırma hatasına neden olacağı için, wp_localize_script bunu nesne gösterimine dönüştürecek şekilde json'u dizi sözdizimine yeniden yazmaya çalıştım, ama bu da benim için çalışmıyor:
$data = array(
'layout_config' => array(
'header' => 1
, 'footer' => 1
, 'ls' => array('sb1'=>1)
, 'rs' => array('sb1'=>1,'sb2'=>1)
, 'align' => 'center'
)
);
wp_localize_script('my-script-handle', 'my_localized_data', $data);
Ve bu php ayrıştırıcı rağmen sorunsuz çalışır, my_localized_data.layout_config bir String "Array" haline gelir gibi, benim sayfa kaynağında beklenen çıktı almıyorum, İşte çıktı:
<script type='text/javascript'>
/* <![CDATA[ */
var wpkit_localized_data = {
layout_config: "Array"
};
/* ]]> */
</script>
Peki .. Bunu nasıl yapabilirim (ya da sadece nesnemi 'gibi farklı değişkenlere' düzleştirmem 'gerektiğini kabul etmek zorunda mıyım:
lc_header = '1';
ls_ls_sb1 = '1';
etc...