2016-06-29 20 views
0

Hallo Momentan verwende ich Simple Wetter JS (http://simpleweatherjs.com/) in meinem Wordpress Theme für die Anzeige von Live-Wetter und auch für Optionen, die ich verwende Redux Framework. Ich habe ein Textfeld für "Name Ihrer Stadt" erstellt und meine Option Eindeutige ID ist> "cpv-hm-cat-op-8". Die Vorschau der Redux Framework-Option ist unten aufgeführt.Wie verwende ich Redux Framework Textfeld Option für Simple Weather JS

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', 
), 

Jetzt möchte ich in meinem einfachen Wetter JS-Datei diese Option verwenden, und ich meine ausgegeben werden soll, wenn ich Eingabe Name meiner Stadt ihre Show in Wetter dieser Stadt. einfaches Wetter js Option aussehen =>

$.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>'); 
    } 
    }); 

Hier "Location" Ich mag meine redux hinzufügen Option Plugin. aber es funktioniert nicht.

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

Bitte helfen Sie mir, wie kann ich dort meine Redux-Framework-Option hinzufügen.

Antwort

0

Ich habe eine Lösung gefunden, es funktioniert für mich, aber ich weiß nicht, ob es die ideale Lösung ist.

Meine Lösung fügt dem Kopf der Seite den Wert hinzu, so dass es für weitere Hooks zugänglich ist. Stellen Sie sicher, wird dieser Code, bevor Sie Ihren Code geladen werden, die diesen Code benötigt (zB alle anderen Sachen in die Fußzeile laden, wo es verwendet wird)

in 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 
} 

hinzufügen dies wird in gesetzt werden der Header auf der Seite wie:

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

so jetzt haben Sie eine Reihe von Werten, die Sie in Ihrem Code zugreifen können - nur die var nennen.

Hoffe das hilft dir.