बेहतर तरीका है जो मैंने पाया है wp_localize_script()
, जैसा कि @scribu ने सुझाया है।
आमतौर पर, मैंने इन-लाइन जावास्क्रिप्ट का उपयोग करने का फैसला किया क्योंकि मुझे अपनी स्क्रिप्ट में कुछ PHP चर प्रदान करने की आवश्यकता थी। इससे हल किया जा सकता है wp_localize_script()
। मैं एक उदाहरण प्रदान करूंगा:
आपके पास $aFoo
कुछ विकल्पों के साथ एक सरणी है और इसे स्क्रिप्ट में पास करने की आवश्यकता है।
$aFoo = array( 'option1' => $option1Value, 'option2' => $option2Value );
इन-लाइन स्क्रिप्ट का उपयोग करना:
<script>
var oFoo = {};
oFoo.option1 = <?php echo $aFoo['option1'] ?>;
oFoo.option2 = <?php echo $aFoo['option2'] ?>;
//do some stuff with oFoo
</script>
का उपयोग कर wp_localize_script()
:
wp_register_script( 'script_name', 'pathToScript/script.js', array( 'jquery' )); //if jQuery is not needed just remove the last argument.
wp_localize_script( 'script_name', 'object_name', $aFoo ); //pass 'object_name' to script.js
wp_enqueue_script( 'script_name' );
फिर, pathToScript/script.js
यह होगा:
var oFoo = {};
oFoo.option1 = object_name.option1;
oFoo.option2 = object_name.option2;
//do some stuff with oFoo (no PHP needed)
इस तरह से आपको इन-लाइन स्क्रिप्ट कदापि नहीं चाहिए।