স্টাইল_লোডার_ট্যাগ
স্টাইল_লোডার_ট্যাগটি একটি অফিসিয়াল ওয়ার্ডপ্রেস API, ডকুমেন্টেশন দেখুন: https://developer.wordpress.org/references/hooks/style_loader_tag/
apply_filters( 'style_loader_tag', $html, $handle, $href, $media )
একটি সজ্জিত শৈলীর এইচটিএমএল লিঙ্ক ট্যাগ ফিল্টার করে।
প্রথমে আপনার স্টাইলশিটটি সারিবদ্ধ করুন, ডকুমেন্টেশন দেখুন: https://developer.wordpress.org/references/function/wp_enqueue_style/
wp_enqueue_style( 'font-awesome-5', 'https://use.fontawesome.com/releases/v5.5.0/css/all.css', array(), null );
$handle
হয় 'font-awesome-5'
আমি কি null
যে কোন সংস্করণ সংখ্যা তাই। এইভাবে এটি ক্যাশে করা হবে।
সরল আরআর_প্লেস
আপনি যা চান তা অর্জন করার জন্য একটি সাধারণ ত্রুটি_রে স্থান যথেষ্ট, নীচের উদাহরণটি দেখুন
function add_font_awesome_5_cdn_attributes( $html, $handle ) {
if ( 'font-awesome-5' === $handle ) {
return str_replace( "media='all'", "media='all' integrity='sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU' crossorigin='anonymous'", $html );
}
return $html;
}
add_filter( 'style_loader_tag', 'add_font_awesome_5_cdn_attributes', 10, 2 );
(একাধিক) বিভিন্ন স্টাইলশিটে বিভিন্ন পরিমাণ যুক্ত করতে উদাহরণের নীচে আলাদা আলাদা এরিবিট যুক্ত করুন
function add_style_attributes( $html, $handle ) {
if ( 'font-awesome-5' === $handle ) {
return str_replace( "media='all'", "media='all' integrity='sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU' crossorigin='anonymous'", $html );
}
if ( 'another-style' === $handle ) {
return str_replace( "media='all'", "media='all' integrity='blajbsf' example", $html );
}
if ( 'bootstrap-css' === $handle ) {
return str_replace( "media='all'", "media='all' integrity='something-different' crossorigin='anonymous'", $html );
}
return $html;
}
add_filter( 'style_loader_tag', 'add_style_attributes', 10, 2 );
একাধিক স্টাইলশিটে একই পরিমাণ যুক্ত করতে উদাহরণের নীচে সমস্ত শৈলীতে গুণাবলী যুক্ত করুন
function add_attributes_to_all_styles( $html, $handle ) {
// add style handles to the array below
$styles = array(
'font-awesome-5',
'another-style',
'bootstrap-css'
);
foreach ( $styles as $style ) {
if ( $style === $handle ) {
return str_replace( "media='all'", "media='all' integrity='sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU' crossorigin='anonymous'", $html );
}
}
return $html;
}
add_filter( 'style_loader_tag', 'add_attributes_to_all_styles', 10, 2 );
স্ক্রিপ্ট_লোডার_ট্যাগ
আমি স্ক্রিপ্ট_লোডার_ট্যাগটিও ব্যাখ্যা করতে চাই, কারণ এটিও সহজ, তবে এই এপিআই wp_enqueue_script এর সাথে মিলিয়ে কাজ করে ।
স্ক্রিপ্ট_লোডার_ট্যাগ এপিআই প্রায় একই, কেবলমাত্র কিছু ছোট পার্থক্য, ডকুমেন্টেশন দেখুন: https://developer.wordpress.org/references/hooks/script_loader_tag/
apply_filters( 'script_loader_tag', $tag, $handle, $src )
একটি সজ্জিত স্ক্রিপ্টের এইচটিএমএল স্ক্রিপ্ট ট্যাগ ফিল্টার করে।
একটি একক স্ক্রিপ্ট স্থগিত করার জন্য উদাহরণের নীচে
function add_defer_jquery( $tag, $handle ) {
if ( 'jquery' === $handle ) {
return str_replace( "src", "defer src", $tag );
}
return $tag;
}
add_filter( 'script_loader_tag', 'add_defer_jquery', 10, 2 );
একাধিক স্ক্রিপ্ট স্থগিত করার উদাহরণের নীচে
function add_defer_attribute( $tag, $handle ) {
// add script handles to the array below
$scripts_to_defer = array(
'jquery',
'jquery-migrate',
'bootstrap-bundle-js'
);
foreach ( $scripts_to_defer as $defer_script ) {
if ( $defer_script === $handle ) {
return str_replace( "src", "defer src", $tag );
}
}
return $tag;
}
add_filter( 'script_loader_tag', 'add_defer_attribute', 10, 2 );
সুতরাং আমি API এর style_loader_tag
এবং উভয়ই ব্যাখ্যা করেছি script_loader_tag
। এবং আমি উভয় এপিআই-র জন্য কিছু উদাহরণ দিয়েছি আমি আশা করি যে এটি প্রচুর লোকের পক্ষে কার্যকর। আমার উভয়ের এপিআই এর সাথে অভিজ্ঞতা আছে।
আপডেট করুন
@ কেকেম্যাকলিউড আপনার আপডেটের জন্য আপনাকে ধন্যবাদ, এটি বিষয়গুলি স্পষ্ট করে। আমরা বেশিরভাগ একই পৃষ্ঠায় আছি। যেমন আমি বলেছি, আমি একটি ওয়ার্ডপ্রেস বিকাশকারী এবং যদি আপনি https://wordpress.org এ অবশ্যই " ওয়ার্ডপ্রেস কোডিং স্ট্যান্ডার্ডগুলি " মেনে চলতে বাধ্য করতে হবে বা তারা কেবল আপনার প্রত্যাখ্যান করবে থিম এবং / অথবা প্লাগইন।
সে কারণেই আমি বিকাশকারীদের সেখানে "ওয়ার্ডপ্রেস উপায়" ব্যবহার করতে উত্সাহিত করি। আমি বুঝতে পারি যে মাঝে মাঝে যা কিছু আলাদা হয় না, তবে এটি সুবিধাও। যেমন আপনি নিজেই বলেছিলেন আপনি ফন্ট অসাধারণ ডাউনলোড করতে পারেন এবং এটি আপনার থিম এবং / অথবা প্লাগইনে অন্তর্ভুক্ত করতে পারেন, এইভাবে আপনাকে কেবল স্টাইল_ লোডার_ট্যাগ ফাংশনটি সরিয়ে আপনার wp_enqueue_style ফাংশনটি পরিবর্তন করতে হবে।
একটি থিম এবং / অথবা প্লাগইন প্রকাশ করতে চান
এবং একটি শেষ জিনিস, অতীতে (5 বছর আগে) কিছু ক্যাচিং, সংমিশ্রণ এবং মাইনাইফিং প্লাগিন কাজ করে না এবং বেশিরভাগ সময় আমি জানতে পারি যে থিম তৈরি করা সেই বিকাশকারীরা কেন থিমটিতে জিনিসগুলি কেবল মাথায় রেখেছিল এবং / বা এগুলি প্রতিধ্বনিত হয়েছিল। বেশিরভাগ ক্যাচিং প্লাগইন, যারা (বেশিরভাগ সময়) স্ক্রিপ্টগুলির একত্রিতকরণ, সংক্ষিপ্তকরণ এবং বিলম্বের বিকল্পগুলি সরবরাহ করে তারা খারাপ কোড সনাক্ত করতে এবং তার চারপাশে কাজ করার ক্ষেত্রে আরও চৌকস এবং উন্নত হয়ে উঠেছে। তবে এটি পছন্দ করা হয় না। সে কারণেই আমি মানক / কনভেনশনগুলি মাথায় রেখে কোডগুলিতে লোকদের উত্সাহিত করি।
বিকাশকারী হিসাবে আপনার সর্বদা লোকেরা আপনার কোডটি কীভাবে গ্রহণ করতে পারে এবং সামঞ্জস্যতার বিষয়টি মাথায় রেখে বিবেচনা করতে হবে। সুতরাং সহজ সমাধান না নিয়ে তবে সেরা সর্বোত্তম সমাধান নিন। আমি আশা করি আমি আমার দৃষ্টিভঙ্গি পরিষ্কার করেছি।
সম্পাদনা
@ সিকেম্যাকলিউড (প্রযুক্তিগত) বিতর্কের জন্য আপনাকে ধন্যবাদ, আমি আশা করি যে আপনি বুঝতে পেরেছেন যে এটি কতটা গুরুত্বপূর্ণ (ওয়ার্ডপ্রেস এপিআই ব্যবহার করে আপনার নিজস্ব বিকাশে)। আবার, আমি প্রায় ঘুরে দেখছিলাম এবং এখনই যদি আমি খুব জনপ্রিয় মিনিফাই প্লাগইনগুলির এফএকিউ'র দিকে লক্ষ্য করি তবে আমি সাধারণত এটি একভাবে বা অন্যভাবে দেখতে পাই, উদাহরণস্বরূপ:
প্রশ্ন: কেন কিছু সিএসএস এবং জেএস ফাইল একীভূত হচ্ছে না?
উত্তর: প্লাগইনটি কেবল অফিসিয়াল ওয়ার্ডপ্রেস এপিআই পদ্ধতি ব্যবহার করে জেএসএস এবং সিএসএস ফাইলগুলি প্রক্রিয়া করে -
https://developer.wordpress.org/themes/basics/including-css-javascript/-
একই ডোমেনের ফাইলগুলি (নির্দিষ্ট না করা পর্যন্ত) সেটিংসে)।
এফএকিউ দেখুন: https://wordpress.org/plugins/ ব্রেকফাস্ট- বেগ -