আমি নিম্নলিখিত শর্তাবলী সহ ওয়ার্ডপ্রেস উইজেটের জন্য স্ক্রিপ্ট এবং শৈলী লোড করার চেষ্টা করছি ...
- স্ক্রিপ্টগুলি হেডে লোড করা আবশ্যক (অন্যথায় সেগুলি ভেঙে যায়)।
- যখন উইজেটটি প্রদর্শিত হয় (সেগুলি বেশ ভারী) তখন স্ক্রিপ্টগুলি কেবলমাত্র লোড করতে হবে।
আমি প্রচুর অনুসন্ধান করেছি এবং এটি একটি সাধারণ (অমীমাংসিত) সমস্যা বলে মনে হচ্ছে ... তবে আমি আশা করছি যে এখানে কেউ সফলভাবে একটি কার্যকর সমাধান করেছে।
আমি এখন অবধি সেরা এটি ...
নিম্নলিখিতটি একটি সাদামাটা উইজেট যা সাইডবারে পাঠ্য মুদ্রণ করে। এটি সাফল্যের সাথে 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");') );
ওয়ার্ডপ্রেস একবার উইজেট পরিচালনা করতে শুরু করলে মনে হয়, এনকুইউ করতে খুব দেরি হয়ে গেছে (বা এর আগে তৈরি কিছু কিছু নিবন্ধভুক্তও করা হয়েছে)।
কোন ধারণা অনেক প্রশংসা হবে!
মার্ক।