স্ক্রিপ্টগুলি এবং শৈলীর নিবন্ধন / নিবন্ধন করার সঠিক জায়গাটি কোথায়


43

আমি এখনই ওয়ার্ডপ্রেস ব্যবহার করছি 3.1.4। আমি কোথায় (কোন হুক) ব্যবহার করব তা নিয়ে আমি বিভ্রান্ত:

  • রেজিস্ট্রেশন এবং / অথবা এনকুইয়ে
  • স্ক্রিপ্ট এবং শৈলী
  • সামনে এবং পিছনে শেষ?

প্রশ্নাবলী:

  • সঠিক হুক ব্যবহার করার জন্য কি?
  • সমস্ত সামনের প্রান্তে নিবন্ধ / স্ক্রিপ্টস / স্টাইল এঙ্কু init?
  • কেন নেই admin_print_styles-{xxx}?

উত্তর:


62

কেন নিবন্ধন এবং কুইউং সঠিকভাবে গুরুত্বপূর্ণ

  • এটা করা উচিত সময় - স্ক্রিপ্ট আগের / শৈলী পৃষ্ঠা আউটপুট হচ্ছে জন্য আপ, অন্যথায় এটা খুব দেরি হয়ে;

  • এটি শর্তযুক্ত হওয়া উচিত - অন্যথায় আপনি স্টাফগুলি লোড করছেন যেখানে আপনার এটির প্রয়োজন নেই এবং কার্য সম্পাদন এবং কার্যকারিতা সংক্রান্ত সমস্যা তৈরি করে, এর জন্য আপনার শেষ মুহূর্তে ডাব্লুপি পরিবেশের ভার প্রয়োজন।

প্রক্রিয়াটির তিনটি স্তর

  1. নিবন্ধভুক্ত করুন - এটি স্ক্রিপ্ট / শৈলী সম্পর্কে ডাব্লুপি বিবরণ ব্যাখ্যা করে এবং এটি সেই তথ্য সঞ্চয় করে;

  2. এনকুই - (প্রায়শই এক wp_enqueue_*()কলের সাথে নিবন্ধের সাথে একত্রে আবদ্ধ হয়ে ) - এটি ডাব্লুপি'কে তার সেটিংস (নির্ভরতা, শিরোলেখ / পাদচরণ লোডিং) অনুযায়ী সারিতে স্ক্রিপ্ট / স্টাইল যুক্ত করতে বলে।

  3. মুদ্রণ - ডাব্লুপি যখন সারি প্রক্রিয়াকরণ করে, নিজের জন্য নির্দিষ্ট কিছু লোড করার চেষ্টা করে বা আপনি স্পষ্টভাবে এটি wp_print_*()ফাংশন দিয়ে করেন তখন এটি ঘটে ।

ফাংশন এবং হুকগুলির সামনের-শেষ কাঠামো

  • wp_head()

    • wp_head

      • (1) wp_enqueue_scripts()

        wp_enqueue_scripts «এটি আপনার প্রয়োজন

      • (8) wp_print_styles()

      • (9) wp_print_head_scripts()

  • wp_footer()

    • wp_footer

      • (10) wp_print_footer_scripts()

এটি অনেক গভীরতর হয় তবে এটি গুরুত্বপূর্ণ এবং গুরুত্বপূর্ণ পয়েন্টগুলির জন্য যথেষ্ট ভাল:

  • wp_enqueue_scriptsসম্মুখ প্রান্তে স্ক্রিপ্টগুলি এবং শৈলীগুলি নিবন্ধকরণ এবং কুইউং করার জন্য সবচেয়ে উপযুক্ত হুক এবং এটি নির্দিষ্টভাবে এটির জন্য রয়েছে;

  • initএটির সাথে কিছুই করার নেই, এটি কাজ করবে তবে - কেবল কোডেক্সের ব্যবহারের সুপারিশটি এটি ভুল ছিল ;

  • wp_print_footer_scripts()কল করার আগে যে কোনও সময়ে আপনি পাদলেখার জন্য সারি স্ক্রিপ্টগুলি (স্টাইল নয়) নিয়ে সরে যেতে পারেন ;

  • wp_print_*হুকগুলি নিবন্ধ / কাতারের জন্য উপযুক্ত নয় , যখন আউটপুট ইতিমধ্যে ঘটছে তখন সেগুলি কোডের পয়েন্ট। এগুলি ম্যানুয়াল / কাস্টম স্ক্রিপ্ট / স্টাইল আউটপুট জন্য উপযুক্ত।

অ্যাডমিনের কী হবে?

ঠিক আছে, সেখানে কার্যকারিতা আরও জটিল, বিস্তৃত এবং নেস্টেড।

  • প্রারম্ভিকদের জন্য প্রতিটি ক্ষেত্রে কেবল admin_enqueue_scriptsহুক ব্যবহার করা ( $hook_suffixশর্তসাপেক্ষ জিনিসগুলির জন্য এটি বিশ্বব্যাপী পাস হয় ), এটি বেশিরভাগ ক্ষেত্রে সুন্দরভাবে করবে;

  • আপনার যখন জটিল কিছু দরকার হয় - admin-header.phpউপযুক্ত হুকগুলির জন্য সন্ধান করুন এবং সেখান থেকে খনন করুন।

লগইন সম্পর্কে কি?

একটি নির্দিষ্ট হুক নাম আছে login_enqueue_scripts


হুম আরেকটি উত্তর আরেকটি প্রশ্ন , আমি সুপারিশ করা হয় admin_print_scripts-{xxx}। আমি খুঁজে পেয়েছি যে admin_print_scriptsডাকা হয়েছে কিন্তু -{xxx}উদাহরণ সহ। -edit.phpউদাহরণ স্বরূপ. admin_print_scripts-xxxQueুকিয়ে দেওয়ার উত্তরটি কীভাবে সঠিক এবং এর পরিবর্তে আপনি কী সুপারিশ করবেন - ধরুন আমি কাস্টম পোস্ট টাইপ যুক্ত / সম্পাদনা পৃষ্ঠায় স্ক্রিপ্ট / শৈলী অন্তর্ভুক্ত করতে চাই (মেটাবক্সের জন্য)
ওয়ার্ক

5
@ জেএম এ ওয়ার্ক এ আমার ব্যক্তিগত মতামত হিসাবে উপরে - *print*হুকগুলি থেকে দূরে থাকুন যদি না আপনি সত্যই জানেন যে আপনার প্রয়োজন কেন you এবং সামগ্রিকভাবে তারা মুদ্রণের জন্য , সারি নয় । admin_enqueue_scriptsহুকগুলি $hook_suffixসেই পরিবর্তনশীল পাস করে যা এই গতিশীল হুকগুলিতে ব্যবহৃত হয়।
বিরল

$hook_suffixআমার সম্পাদনা পোর্টফোলিও পৃষ্ঠায় পোস্ট.এফপি দেখতে লাগে কেন? আমি ভেবেছিলাম এটি edit.php ছিল, তবে আমি কীভাবে নির্ধারণ করব যে আমি কোনও পোর্টফোলিও সম্পাদনা করছি / পোস্ট করছি এবং সাধারণ পোস্ট নই?
জেএম কর্মস্থলে

@ জেএম ওয়ার্কস এ সততার সাথে জানায় যে পরিবর্তনশীল কিছুটা বাজে :) :) নিজের প্লাগইনে এটি মোকাবেলা করা সহজ ( add_*_page()ফাংশন প্রত্যাবর্তন ), তবে দেশীয় ডাব্লুপি স্ক্রিনে এটি বিভিন্ন জিনিস হতে পারে।
রাস্তার

দুর্ভাগ্যক্রমে আমি যখন wp_footer থেকে wp_enqueue_scripts বা অ্যাডমিন_প্রিন্ট_স্ক্রিপ্টগুলিতে হুক পরিবর্তন করি তখন CSS অদৃশ্য হয়ে যায় এবং উত্স কোডের কোথাও প্রদর্শিত হয় না। এটি আমি ব্যবহার করি এমন কোড: যোগ_অ্যাকশন ('wp_enqueue_scriptts', 'addCSS'); এটি কাজ করে না, এই কাজটি অ্যাড-অ্যাকশন ('wp_enqueue_scriptts', 'addCSS') করে; এটি বাদে স্পষ্টতই ফুটারে সিএসএস যুক্ত করে। আমি কি ভুল করছি?
টালন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.