2015-12-26 16 views
5

Wordpress Özelleştiricisi için özelleştirilmiş bir denetim yaptım ve denetimimi bir komut dosyasında (Instafeed.js) ayarlamak istiyorum, limit numarasını değiştirmek istiyorum.Wordpress Özelleştiricisini Javascript'te Kullanma

this answer ardından bu defa

<script type="text/javascript"> 
      var userFeed = new Instafeed({ 
      get: '', 
      tagName: '', 
      clientId: '', 
      limit: var imglimit = <?php echo json_encode($imglimit); ?>;, 
      }); 
      userFeed.run(); 
</script> 

Fonksiyonlar

yaptım nasıl
$wp_customize->add_setting(
     'imglimit', 
     array(
      'default'  => '', 
      'section'  => 'section', 
)); 
$wp_customize->add_control('imglimit', array(
     'label'  => __('test'), 
     'section' => 'section', 
     'settings' => 'imglimit', 
     'type'  => 'select', 
     'choices' => array(
     '5' => '5', 
     '10' => '10', 
     '20' => '20', 
    ), 
)); 

function theme_customizer() 
{ 
    $imglimit = get_theme_mod('imglimit'); 
} 

kimse hata nerede söyler misiniz? Bunu bir süredir araştırıyorum. Aslında mutlaka json encode

cevap

2

Eh, bir sözdizimi hatası var burada :) Yani

 var userFeed = new Instafeed({ 
     get: '', 
     tagName: '', 
     clientId: '', 
     limit: var imglimit = <?php echo json_encode($imglimit); ?>;, 
//    ^^^^^^^^^^^^ here      and here ^
     }); 

, sen

 var userFeed = new Instafeed({ 
     get: '', 
     tagName: '', 
     clientId: '', 
     limit: <?php echo json_encode($imglimit); ?>, 
     }); 

kod bu bloğu değişmelidir gerekmez burada sadece bir sayı olduğu için. Ama eğer bu bir dizi ya da nesne olsaydı, evet, bunu kodlamalıydın.

function theme_customizer() 
{ 
    global $imglimit; 
    $imglimit = get_theme_mod('imglimit'); 
} 

Ya da sadece js içine koymak:

Ve php kodunda

Eğer $imglimit küresel yapmalıdır cevap

 var userFeed = new Instafeed({ 
     get: '', 
     tagName: '', 
     clientId: '', 
     limit: <?php echo json_encode(get_theme_mod('imglimit')); ?>, 
     }); 
+0

Teşekkür, ben denedim ama hala çalışmıyor. Komut artık kırmıyor (görüntüleri görebiliyorum), ancak varsayılan olarak 20 resim sınırı (özelleştirici kontrolünde üçüncü seçenek, eğer üçüncü seçenek 40 ise, 20 kalır). Sınırlamayı özelleştirici aracılığıyla değiştirmeye çalışırsam, sınırlar yine de 20'ye kalır. (Önbelleği de temizlemeye çalıştım). Özelleştiricinin "limiti" neden güncellemediğine dair herhangi bir fikir var mı? – dbsso

+0

@dbsso ve limiti sabitlerseniz, beklendiği gibi çalışır mı? –

+0

İstediğiniz şeyi anlıyorsam tanımlanmış numaralarla çalışıyor. – dbsso