কীভাবে একটি প্লাগইনে জাভাস্ক্রিপ্ট সারণী করা যায়


14

প্লাগইন ফোল্ডারে একটি জাভাস্ক্রিপ্ট ফাইল অন্তর্ভুক্ত করার জন্য আমি এখন অনেক লড়াই করছি।

আমি থিম ডিরেক্টরি থেকে উইজেট ফাইল স্থানান্তর করে একটি প্লাগইন তৈরি করার চেষ্টা করছি। আমি উইজেট ফাইলটি অনুলিপি করেছি, তবে সেই উইজেট ফাইলটি একটি জাভাস্ক্রিপ্ট ফাইলের উপর নির্ভরশীল তাই আমি প্লাগইন ডিরেক্টরিতে একটি / জেএস / ফোল্ডার তৈরি করেছি। যেখানে এই ফাইলগুলি "jquery.repeatable.js" হোস্ট করা হয়েছে

আমি এই কোডটি ব্যবহার করেছি, তবে এতে জেএস ফাইল অন্তর্ভুক্ত বলে মনে হচ্ছে না -

function Zumper_widget_enqueue_script()
{   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js' );
}
add_action('admin_enqueue_scripts', 'Zumper_widget_enqueue_script');

আমি এটি ফোরামে অনুসন্ধান করেছি - /programming/31489615/call-a-js-file-from-a-plugin-directory

তবুও এটি সহায়ক ছিল না।

আমি আমার প্রশ্নের পুনরায় সংক্ষেপ করছি। আমার প্লাগইন ডিরেক্টরিতে এই ফোল্ডারটির অধীনে একটি জেএস ফাইল রয়েছে - / জেএস /

আমি এটিকে সঠিক প্রক্রিয়াটি অন্তর্ভুক্ত করতে চাই, আমারও কি কিছু নিবন্ধভুক্ত করা দরকার?

এই অংশে কিছু ভুল আছে - 'admin_enqueue_scripts'?


উত্তর:


30

আপনার কোড সঠিক বলে মনে হয়, কিন্তু এটি beacuse আপনি স্ক্রিপ্ট enqueuing শুধুমাত্র অ্যাডমিন এলাকায় স্ক্রিপ্ট লোড হবে admin_enqueue_scriptsকর্ম

সম্মুখভাগে স্ক্রিপ্টটি লোড করতে, wp_enqueue_scriptsক্রিয়াটি ব্যবহার করুন (যা একই wp_enqueue_script()ফাংশনটির মতো নয় ):

function Zumper_widget_enqueue_script() {   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js' );
}
add_action('wp_enqueue_scripts', 'Zumper_widget_enqueue_script');

এছাড়াও, স্ক্রিপ্টটি jQuery এর উপর নির্ভর করে বলে মনে হয়, তাই আপনার ঘোষণা করা উচিত যে নির্ভরশীল বা স্ক্রিপ্টটি jQuery এর আগে লোড করা যায় এবং এটি কার্যকর হবে না। এছাড়াও, আমি দৃ strongly়ভাবে স্ক্রিপ্টটির সংস্করণ ঘোষণা করার পরামর্শ দিচ্ছি। এইভাবে, আপনি যদি স্ক্রিপ্টটিকে নতুন সংস্করণে আপডেট করেন তবে ব্রাউজারটি এটি আবার ডনলোড করে এবং ক্যাশে থাকা কপিটি বাতিল করে দেবে।

উদাহরণস্বরূপ, স্ক্রিপ্টটির সংস্করণ যদি 1.0 হয়:

function Zumper_widget_enqueue_script() {   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js', array('jquery'), '1.0' );
}
add_action('wp_enqueue_scripts', 'Zumper_widget_enqueue_script');

আপনি যদি অ্যাডমিন এলাকায় এটি লোড করতে চান:

function Zumper_widget_enqueue_script() {   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js', array('jquery'), '1.0' );
}
add_action('admin_enqueue_scripts', 'Zumper_widget_enqueue_script');

1

আপডেট:

পরিবর্তে এই কোডটি ব্যবহার করুন

function Zumper_widget_enqueue_script()
{   
    wp_enqueue_script( 'my_custom_script', plugin_dir_url( __FILE__ ) . 'js/jquery.repeatable.js', array('jquery'), '1.0.0', false );
}
add_action('admin_enqueue_scripts', 'Zumper_widget_enqueue_script');

3 য় প্যারামিটারটি নির্ভরতা ঘোষণা করা এবং চতুর্থটি সংস্করণ সংজ্ঞায়িত করা হয়।

এর সেট 5RD প্যারামিটার wp_enqueue_script()করতে true। এর অর্থ, এই ফাইলটি ফুটারে লোড হবে।


এর তৃতীয় প্যারামিটার wp_enqueue_script()হ'ল স্ক্রিপ্ট নির্ভরতা ঘোষণা করা। আপনি পাদলে বা শিরোলেখটিতে স্ক্রিপ্টটি লোড করতে চাইলে পঞ্চম প্যারামিটারটিই বেছে নিতে পারে। যাইহোক, আমি মনে করি না বোঝা জায়গাটি কোনও পার্থক্য করে makes
সাইবমেটা

ধন্যবাদ। আমি অন্য কোনও প্লাগইনে কোথাও পড়েছি যে কেউ একজন এটির মতো করছে - wp_enqueue_script ('জাম্পার', get_template_directory_uri ()। '/js/jquery.zumper.min.js',array('jquery'), false,true); আপনি বলেছেন যে তৃতীয় থেকে সত্য সেট করার অর্থ এটি পাদলে লোড হবে, তারপরে এই মিথ্যা, সত্য সংমিশ্রণের অর্থ কী?
ডব্লিউপি ইন্টারমিডিয়েট

আমি আমার উত্তর আপডেট করেছি। এটা কি কাজ করে?
mukto90

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.