নির্বাচিত পৃষ্ঠাগুলিতে কেবল তার সিএসএস এবং জেএস লোড করার জন্য কোনও প্লাগইন সীমাবদ্ধ?


9

আমি কোনও প্লাগইনকে তার কেবল সিএসএস স্টাইলশিট এবং জাভাস্ক্রিপ্ট জেএস ফাইলগুলির লোডিং কেবলমাত্র সেই পৃষ্ঠাগুলিতেই সীমাবদ্ধ করতে বাধ্য করতে চাই যার জন্য তাদের প্রয়োজন।

আমার প্রশ্নের উদাহরণ হ'ল প্লাগইন যোগাযোগ ফর্ম। যা আমি আমার সাইটের এক পৃষ্ঠায় একটি ফর্ম তৈরি করতে ব্যবহার করেছি (" আমার সাথে যোগাযোগ করুন " পৃষ্ঠা)। তবে এটি ওয়েবসাইটে প্রতিটি পৃষ্ঠায় / পোস্টে নিম্নলিখিত লাইনগুলি যুক্ত করে:

<link rel='stylesheet' id='contact-form-7-css'  href='http://www.r-statistics.com/wp-content/plugins/contact-form-7/styles.css?ver=2.3.1' type='text/css' media='all' /> 

<script type='text/javascript' src='http://www.r-statistics.com/wp-content/plugins/contact-form-7/scripts.js?ver=2.3.1'></script> 

এটি আমাকে সন্দেহ করে যে এই প্লাগইনটি সাইটের কেবলমাত্র একটি পৃষ্ঠায় আমাকে আগ্রহী এমন একটি এক্সটেনশনের জন্য, আমার সাইটের লোডিং সময়কে ব্যাহত করছে।

সুতরাং, আমার প্রশ্ন হ'ল আমি কীভাবে "যোগাযোগ আমার" পৃষ্ঠা ব্যতীত প্লাগইন নিষ্ক্রিয় না করে সমস্ত পৃষ্ঠাগুলি থেকে এই অতিরিক্ত লাইনগুলি সরিয়ে ফেলব?

উত্তর:


9

স্টাইল এবং স্ক্রিপ্টগুলি সর্বদা ফাংশন দ্বারা সেট আপ করা হয় wp_enqueue_script()এবং wp_enqueue_style(), যা কাজ করতে একটি নির্দিষ্ট ক্রিয়াকাপের সাথে আবদ্ধ হতে হয়। আমি পরিচিতি ফর্ম 7 ভিতরে একটি উঁকি গ্রহণ, এবং মত কর্ম ট্যাগ ব্যবহার করছে দেখে মনে হচ্ছে wpcf7_enqueue_scriptsএবং wpcf7_enqueue_stylesতাদের যোগ করার জন্য wp_print_scriptsএবং wp_print_stylesআঙ্গুলসমূহ।

সুতরাং, আপনি কি করতে প্রয়োজন প্রতিটি পৃষ্ঠায় থেকে স্ক্রিপ্ট এবং শৈলী আন-হুক কিন্তু আপনার পরিচিতির পাতা। wp_headসামনে স্ক্রিপ্ট এবং শৈলী কর্ম কর্ম আগুন, যাতে আপনি আপনার থিমের থিমের functions.php ফাইলে ভালো কিছু যোগ করতে হবে:

function remove_wpcf7_extras() {
    remove_action('wp_print_scripts', 'wpcf7_enqueue_scripts');
    remove_action('wp_print_styles', 'wpcf7_enqueue_styles');
}

if( ! is_page('contact me') ) {
    add_action('wp_head', 'remove_wpcf7_extras');
}

আপনি যখন যোগাযোগের পৃষ্ঠায় থাকবেন তখন নাম_প্রেমটি () ফাংশনটি ফিরে আসবে true(নামটি "আমার সাথে যোগাযোগ করুন" ধরে নিচ্ছেন ) ... আপনি ফিল্টারটির জন্য পৃষ্ঠা স্লাগ এবং পৃষ্ঠা আইডিও ব্যবহার করতে পারেন। অন্যান্য সমস্ত পৃষ্ঠায়, if()শর্তসাপেক্ষী wp_headক্রিয়ায় স্ক্রিপ্ট / শৈলী অপসারণ ফাংশন যুক্ত করবে , যা কর্ম wp_print_scriptsএবং wp_print_stylesক্রিয়াগুলির ঠিক আগে আগুন ধরে ।

এটি আপনার পৃষ্ঠাগুলি থেকে অতিরিক্ত কোড সরিয়ে ফেলতে হবে এবং আপনাকে প্লাগ-ইন নিষ্ক্রিয় করতে বা কোনও মূল ফাইল সম্পাদনা করতে হবে না। আমি উপরে তালিকাভুক্ত ফাংশন এবং কোড এছাড়াও যদি আপনি ভবিষ্যতে যোগাযোগ ফর্ম remove সরিয়ে দেন তবে আপনার থিমটি ভেঙে ফেলার কারণ হবে না ... তাই ভবিষ্যতের আপগ্রেড সামঞ্জস্যতা নিয়ে চিন্তা করার দরকার নেই।


হ্যালো ইমন দুর্দান্ত সমাধান - আপনাকে ধন্যবাদ! আপনি কি মনে করেন যে এই পদ্ধতিটি এমন একটি প্লাগইনে enুকে যেতে পারে যা কোন হুকগুলি ব্যবহৃত হয় তা পরীক্ষা করে এবং তারপরে কাউকে পৃষ্ঠার অবস্থান অনুযায়ী সেগুলি নিষ্ক্রিয় করতে দেয়?
তাল গালিলি

দুর্ভাগ্যক্রমে, অনেকগুলি হুক রয়েছে যা ওয়ার্ডপ্রেসের মধ্যে গতিশীলভাবে ব্যবহৃত হয়। সুতরাং আপনি নির্ভরযোগ্যভাবে সনাক্ত করতে পারবেন না যে কোন হুক ব্যবহার করা হচ্ছে ... তবে আপনি সম্ভবত তাদের বেশিরভাগটিকেই এভাবে ধরতে পারেন।
EAMAN

কুল। আপনি আমাকে কেবল একটি নতুন প্রশ্নের জন্য একটি ধারণা দিয়েছেন: ওয়ার্ডপ্রেস.স্ট্যাকেক্সেঞ্জার
প্রশ্নস / 8৯৮/২

ঠিক তেমনই আপনি জানেন, আপনি আমাকে এই প্লাগ-ইনটি বিকাশ শুরু করার ধারণাও দিয়েছেন :-)
EAMAN

3
@EAMann এবং @Tal Galili - আসলে আপনি সব আঙ্গুলসমূহ, এমনকি গতিশীল ব্যবহার বেশী ক্যাপচার করতে পারেন allহুক দেখুন wordpress.stackexchange.com/questions/307
MikeSchinkel
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.