सर्वोत्तम अभ्यास विधि
एक नज़र है wp_localize_script
, जो वास्तव में ऐसा करने के लिए है।
लेकिन इसके लिए पिछले उपयोग की आवश्यकता होती हैwp_enqueue_scripts
, इसलिए आपको अपने जेएस को वास्तव में एक अलग फाइल में ले जाना होगा।
यह उन कुछ मिनटों के प्रयास के लायक होगा, हालांकि, निश्चित रूप से।
function wpse_96370_scripts()
{
if ( is_single() ) {
wp_register_script(
'your_script_handle',
get_template_directory_uri() . '/js/your-script.js',
array( /* dependencies*/ ),
1.0,
true
);
wp_enqueue_script( 'your-script-handle' );
$script_params = array(
/* examples */
'post' => 99,
'users' => array( 1, 20, 2049 )
);
wp_localize_script( 'your-script-handle', 'scriptParams', $script_params );
}
}
add_action( 'wp_enqueue_scripts', 'wpse_96370_scripts' );
जेएस में आप तब जैसे पारित मापदंडों का उपयोग करने में सक्षम होंगे:
var posts = scriptParams.post,
secondUser = scriptParams.users[1]; /* index starts at 0 */
// iterate over users
for ( var i = 0; i < scriptParams.users.length; i++ ) {
alert( scriptParams.users[i] );
}
[संपादित करें] आपकी स्थिति
आपकी टिप्पणी के अनुसार
मैंने response.id
फेसबुक एपीआई से कुछ एस के साथ एक नई डीबी टेबल बनाई । यह तालिका है: action_id, user_id, post_id, fb_id जहाँ fb_id प्रतिक्रिया है। facebook कार्रवाई से। तब single.php में मेरे पास एक बटन होता है जहां अगर मैं दबाता हूं तो मुझे एपीआई के साथ एफबी कार्रवाई को हटाना होगा: FB.api('/'+fb.response, 'delete');
जहां तालिका से fb.response
होना चाहिए fb_id
।
अपनी थीम के /js/
फ़ोल्डर को नीचे रखें , इसे बनाएं, यदि यह मौजूद नहीं है।
आइए फाइल को कॉल करें fb-response.js
:
jQuery( '#button_id' ).click( function() {
FB.api( '/' + fbParams.id, 'delete' );
});
फिर रजिस्टर, एनक्यू और स्थानीयकरण जैसा कि ऊपर देखा गया है। मान लें कि आपके पास वह आईडी है जिसे आप कहना चाहते हैं $fb_id
:
wp_register_script(
'fb-response',
get_template_directory_uri() . '/js/fb-response.js',
array( 'jquery' ),
1.0,
true
);
wp_enqueue_script( 'fb-response' );
wp_localize_script( 'fb-response', 'fbParams', array( 'id' => $fb_id ) );
एनबी जाहिर है, ऊपर मान रहा है कि यह एक विषय में है। यदि हम "प्लगइन" बात कर रहे हैं, तो तदनुसार स्थानों को बदल दें।