Yazdığım bir eklentiye Dropbox'ın seçici API'sındaki düşüşü entegre etmeye çalışırken buna rastladım .
API belgeleri, aşağıdaki script
etiketi dosyanızın üstüne yerleştirmenizi ister:
<script type="text/javascript" src="https://www.dropbox.com/static/api/1/dropins.js" id="dropboxjs" data-app-key="MY_APP_KEY"></script>
Hepsi iyi ve iyi ve aslında doğrudan yönetici bölümünde çağrılan sayfaya yapıştırdığımda çalışır. Ancak, gerekli kimliği ve veri-app-anahtarını geçmek için wp_register_script (), wp_enqueue_script () ve wp_localize_script () 'in bazı varyasyonlarını kullanmak istiyorum.
Bunun birkaç farklı varyasyonunu denedim:
add_action('admin_enqueue_scripts', 'add_dropbox_stuff');
function add_dropbox_js() {
wp_register_script('dropbox.js','https://www.dropbox.com/static/api/1/dropins.js');
wp_enqueue_script('dropbox.js');
wp_localize_script('dropbox.js','dropboxdata',array('id'=>"dropboxjs",'data-app-key'=>"MY_APP_KEY"));
}
Ve:
add_action('admin_enqueue_scripts', 'add_dropbox_stuff');
function add_dropbox_stuff() {
wp_register_script('dropbox.js','https://www.dropbox.com/static/api/1/dropins.js');
wp_enqueue_script('dropbox.js');
wp_localize_script('dropbox.js','dropboxdata',array(array('id'=>"dropboxjs"),array('data-app-key'=>"MY_APP_KEY")));
}
MY_APP_KEY, kodumdaki uygun uygulama anahtarıyla değiştirildi. Herhangi bir yönü takdir ediyorum. Teşekkürler.
EDIT: Ayrıca bazı jquery ile yapmaya çalıştı, ama boşuna. Belge yükünde ve belge hazırda denedi. {"Hata": "Geçersiz app_key"} dönüşü alıyorum.
$('script[src="https://www.dropbox.com/static/api/1/dropins.js?ver=3.6"]').attr('id','dropboxjs').attr('data-multiselect','true').attr('data-app-key','MY_APP_KEY');
wp_localize_script
komut dosyası nitelikleri oluşturmayan doğru . Ancak uygulama anahtarını doğrudan dropbox.js'ye geçirmek mümkün müdür? Sadece bir tahmin ama denedin array('appKey'=>"MY_APP_KEY")
mi? Bu özelliğinden anahtarını yakalar kodudurif(!Dropbox.appKey){Dropbox.appKey=(e=document.getElementById("dropboxjs"))!=null?e.getAttribute("data-app-key"):void 0}
wp_localize_script
, komut dosyasına nitelikler iletebileceğinizden emin. Bunun işe yarayıp yaramayacağını gerçekten bilmiyorum, ancak worpress ile ilgili bir konu değil.
wp_localize_script
yapmalı, sayfanın html çıktısında json kodlu bir nesne yazdırmaktır. Bu nesne komut dosyası tarafından tanınır ve böylece onu kullanabilirsiniz. İhtiyacınız olan şey komut dosyası etiketine bazı özellikler eklemektir ve bu yüzdenwp_localize_script
size yardımcı olamaz.