আমি কীভাবে সমস্ত সজ্জিত স্ক্রিপ্টগুলির জন্য হ্যান্ডেল পাব?


18

প্রতিলিপি তৈরি করা প্রতিটি স্ক্রিপ্টের জন্য $ হ্যান্ডেলটি পাওয়ার কোনও উপায় আছে কি?

এমন কোনও অ্যারে রয়েছে যা সমস্ত হ্যান্ডলগুলি ধরে রেখেছে যাতে আমি এটির মধ্য দিয়ে লুপ করতে পারি এবং প্রতিটি হ্যান্ডেল ব্যবহার করে কিছু করতে পারি?

উত্তর:


25

$wp_scriptsবিশ্বব্যাপী সব স্ক্রিপ্ট ডেটা ঝুলিতে:

function wpa54064_inspect_scripts() {
    global $wp_scripts;
    foreach( $wp_scripts->queue as $handle ) :
        echo $handle;
    endforeach;
}
add_action( 'wp_print_scripts', 'wpa54064_inspect_scripts' );

5
ডাব্লুপিপি ৪.২.০ হিসাবে - $wp_scripts = wp_scripts();সরাসরি বিশ্বব্যাপী অ্যাক্সেস করার চেয়ে ভাল হতে পারে কারণ এটি $wp_scriptsসেট না করা থাকলে এটি সূচনা করবে ।
jgraup

আপনার ,9999মতো অগ্রাধিকার যুক্ত করা উচিত add_action( 'wp_print_scripts', wpa54064_inspect_scripts', 9999 );, অন্যথায় আপনি স্ক্রিপ্টগুলি দেখতে পাবেন যা ফাংশন.ফেপি ফাইল দ্বারা সন্ধান করা হয়েছে
রিসার্ড জেড্রাজিক

2

প্রতিলিপি তৈরি করা প্রতিটি স্ক্রিপ্টের জন্য $ হ্যান্ডেলটি পাওয়ার কোনও উপায় আছে কি?

আপনি $wp_scripts->queueএকটি নির্দিষ্ট হুক পরিদর্শন করার চেষ্টা করতে পারেন তবে এটি আপনাকে ওয়ার্ডপ্রেস দ্বারা ব্যবহৃত সমস্ত হ্যান্ডেলের একটি তালিকা দেয় না, বিশ্বাস করুন বা না করুন।

উদাহরণস্বরূপ, আপনি ডাব্লুপি ভি ৪..7.৫-তে স্টক টুয়েন্টি সেভেনটেন থিমের জন্য একটি তালিকা পেতে wp_head, যা wp_print_scriptsক্রিয়াটি $handlesচালাচ্ছে সেটিতে ঝুঁকতে পারে:

function get_enqueued_scripts () {
    $scripts = wp_scripts();
    var_dump( array_keys( $scripts->groups ) );
}

add_action( 'wp_head', 'get_enqueued_scripts' );

এবং $handlesথেকে $wp_scripts->groupsফলাফল আউটপুট:

এখানে চিত্র বর্ণনা লিখুন

এই মুহুর্তে, আপনি যদি বিদ্যমান যা তুলনা করেন $wp_scripts->queueতবে কেবলমাত্র উপরের একটি উপসেটটি দেখতে পাবেন।

সুতরাং, এমনকি wp_print_scripts যদি উপরের মতো প্রদর্শিত হ্যান্ডলগুলির একটি সম্পূর্ণ তালিকা সরবরাহ করে না, যদি এটি পরে থাকেন what এবং এটি পেতে সর্বদা দলবদ্ধ নির্ভরতাগুলির উপর নির্ভর করা সম্ভব নয়।

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