如何使用Simple Weather JS的Redux Framework Text Field选项

时间:2016-06-29 09:39:11

标签: javascript wordpress options weather redux-framework

Hello目前我在wordpress主题中使用Simple weather JS(http://simpleweatherjs.com/)来显示实时天气以及我正在使用redux框架的选项。我为"您所在城市的名称"创建了一个文本字段。我的选项唯一ID是> " cpv-hm-cat-op-8"。 My Redux框架选项的预览如下所示。

array(
'id'       => 'cpv-hm-cat-op-8',
'type'     => 'text',
'title'    => __( 'Name of your city', 'redux' ),
'desc'    => __( 'Write your city which you want to show in weather', 'redux' ),
'default'  => 'New York',
), 

现在我想在我的简单天气JS文件中使用该选项,我想要我的输出,当我在该城市的天气输入我的城市名称。简单的天气js选项看起来像=>

  $.simpleWeather({
    location: 'New Jersey',
    woeid: '',
    unit: 'c',
    success: function(weather) {
      html = '<h2><i class="symbol-weather  icon-'+weather.code+'"></i> '+weather.temp+'&deg;'+weather.units.temp+'</h2>';
      html += '<ul><li>'+weather.city+'</li>';  
      $("#weather").html(html);
    },
    error: function(error) {
      $("#weather").html('<p>'+error+'</p>');
    }
  });

这里&#34;位置&#34;我想添加我的redux插件选项。但它不起作用。

  $.simpleWeather({
    location: '<?php global $cpv; echo $cpv['cpv-hm-cat-op-8'];?>',

请帮助我如何添加我的redux框架选项。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案,它对我有用,但我不知道它是否是理想的解决方案。

我的解决方案是将值添加到页面的头部,因此可以访问其他钩子。确保在需要此代码的代码之前加载此代码(将所有其他内容加载到以前的页脚)

在function.php中添加

add_action ( 'wp_head', 'yourjs' );
function yourjs(){ global $cpv; //your global redux Var ?>
  <script type="text/javascript"> 
    var weatherinfo = <?php echo json_encode( array( 
         'city' => $cpv['cpv-hm-cat-op-8'],
         'zip' => $cpv['cpv-hm-cat-op-7'], // just an example for another value in the array
       ) ); ?>
  </script><?php
}

这将放在页面的标题中,如:

<script type="text/javascript"> 
    var weatherinfo = {"city":"Austin","zip":"12345"}  </script>

所以现在您可以在代码中访问一系列值 - 只需调用var。

希望这会对你有所帮助。