मैं निम्नलिखित स्थितियों के साथ एक WordPress विजेट के लिए स्क्रिप्ट और शैलियों को लोड करने की कोशिश कर रहा हूं ...
- लिपियों को HEAD में लोड करना होगा (अन्यथा वे टूट जाते हैं)।
- जब स्क्रिप्ट वास्तव में प्रदर्शित होती है (वे काफी भारी हैं) तो स्क्रिप्ट को केवल लोड करना होगा।
मैंने बहुत खोज की है, और यह एक आम (अनसुलझी) समस्या प्रतीत हो रही है ... लेकिन मैं उम्मीद कर रहा हूं कि यहां किसी ने सफलतापूर्वक एक समाधान लागू किया है।
यह सबसे अच्छा है जो मुझे अब तक मिला है ...
निम्नलिखित एक सरल विजेट है जो पाठ को साइडबार पर प्रिंट करता है। यह सफलतापूर्वक jQuery के सशर्त लोड करता है (जब विजेट वास्तव में प्रदर्शित होता है) ... हालांकि केवल कभी पाद में! (नोट: यह केवल वर्डप्रेस 3.3 पर भी काम कर सकता है , हालांकि यह हैक बैकवर्ड संगतता प्रदान कर सकता है)।
class BasicWidget extends WP_Widget
{
function __construct() {
parent::__construct(__CLASS__, 'BasicWidget', array(
'classname' => __CLASS__,
'description' => "This is a basic widget template that outputs text to the sidebar"
));
}
function form($instance) {
$instance = wp_parse_args( (array) $instance, array( 'title' => '' ) );
$title = $instance['title'];
?>
<p><label for="<?php echo $this->get_field_id('title'); ?>">Title: <input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>" /></label></p>
<?php
}
function update($new_instance, $old_instance) {
$instance = $old_instance;
$instance['title'] = $new_instance['title'];
return $instance;
}
function widget($args, $instance) {
extract($args, EXTR_SKIP);
echo $before_widget;
$title = empty($instance['title']) ? ' ' : apply_filters('widget_title', $instance['title']);
if (!empty($title))
echo $before_title . $title . $after_title;;
echo "<h1>This is a basic widget!</h1>";
echo $after_widget;
// if we're echoing out content, enqueue jquery.
if (!empty($after_widget)) {
wp_enqueue_script('jquery');
}
}
}
add_action( 'widgets_init', create_function('', 'return register_widget("BasicWidget");') );
ऐसा लगता है कि एक बार वर्डप्रेस विजेट्स को संभालना शुरू कर देता है, यह बहुत देर हो चुकी है (या फिर पहले से बताई गई किसी चीज़ को डीरगिस्टर करने के लिए)।
कोई भी उपाय बहुत प्रशंसनीय होगा!
निशान।