আমরা ইতিমধ্যে ওয়ার্ডপ্রেসের সাথে সফ্টওয়্যার বিকাশ সম্পর্কিত অনেকগুলি বিষয় কভার করেছি এবং এই সেশনের সময় আপনি অবশ্যই ফিল্টার এবং ক্রিয়া সম্পর্কে শুনেছেন।

এগুলি ওয়ার্ডপ্রেসের আর্কিটেকচারের একটি প্রয়োজনীয় অংশ। এবং আপনার নিজের চাহিদা পূরণের জন্য নতুন তৈরি করার সুযোগ রয়েছে।

এক কথায়, একটি আর্কিটেকচার " ঘটনা এমন একটি কৌশল যা আপনাকে কোনও ইভেন্টের ঘটনা শোনার অনুমতি দেয় এবং সেই প্রশ্নে বা অন্য কোনও দিক থেকে ঘটনা অনুসারে কাজ করে। আপনার প্রতিক্রিয়া, আপনি যা লিখছেন তা হ'ল কীভাবে আপনি চান কার্যকারিতা তৈরি করতে পারেন, ওয়ার্ডপ্রেসের কার্যকারিতা বাড়িয়ে তুলতে।

এখানে একটি খুব সাধারণ উদাহরণ, একটি ওয়ার্ডপ্রেস পোস্ট পোস্ট করা একটি উদাহরণ ইভেন্ট (publish_post) যা একটি রাষ্ট্রকে পরিবর্তন করে।

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

বর্গাকার বন্ধনীর ব্যবহার এত গুরুত্বপূর্ণ যে কারণে আরও একটি মৌলিক কারণ রয়েছে। স্কোয়ার ব্র্যাকেট ব্যবহার করে আপনি পরবর্তী উত্সের কোডটি পরিবর্তন না করে ওয়ার্ডপ্রেসকে প্রসারিত এবং বিল্ড করতে পারেন।

আসলে, আমাকে সেই বক্তব্যটি পুনরায় বলি।

যদি ওয়ার্ডপ্রেসে কোনও কাজের জন্য আপনাকে নিয়োগ দিচ্ছে (বা আপনি নিয়োগ দিচ্ছেন) এমন কেউ যদি পরামর্শ দেয় যে আপনি ওয়ার্ডপ্রেস উত্স কোড পরিবর্তন করেন, তবে সবকিছু ঠিকঠাক বন্ধ করুন।

আপনার ওয়ার্ডপ্রেস সাইটের স্কেলিবিলিটিটি ভাঙতে ইচ্ছুক যে কেউ তাদের কী কথা বলছেন তা ধারণা নেই। এই লোকেরা যদি সুরক্ষার বিষয়ে চিন্তা করে তবে তারা তা বিবেচনাও করত না।

আমরা এর আগেও কথা বলেছি। ওয়ার্ডপ্রেস আপডেট (তার থিম এবং প্লাগইন সহ) সর্বশেষতম সংস্করণে উপলব্ধ ওয়ার্ডপ্রেস সুরক্ষার অন্যতম ভিত্তি। আপনার বিকাশকারীরা আপনার সাইটের উত্স কোডটি সংশোধন করে এটি অবশ্যই ওয়ার্ডপ্রেসের আপডেটের চক্রটি ভেঙে ফেলেছে (যদি তারা তাদের পরিবর্তন না করে তবে পরবর্তী আপডেটে ওভাররাইট করা হবে).

অন্যদিকে, আপনি যদি হুক এবং ওয়ার্ডপ্রেস আপনার জন্য উপলব্ধ অন্যান্য সমস্ত এক্সটেনসিবিলিটি বিকল্প ব্যবহার করেন, তাহলে আপনার ওয়ার্ডপ্রেস ব্লগের স্কেলেবিলিটি নিশ্চিত হবে।

ভাগ এবং ফিল্টার-ওয়ার্ডপ্রেস

হুকস, অ্যাকশন বা ফিল্টার? এর মানে কী ?

হুকগুলি মূলত এমন ঘটনা যা কোনও ওয়ার্ডপ্রেস কার্যকারিতা, থিম বা প্লাগইন চালানোর সময় ঘটে occur

তবে কেন তাদের সত্যই হুক বলা হয়?

বিকাশকারীরা নির্দিষ্ট বৈশিষ্ট্যগুলি প্রসারিত বা বাস্তবায়িত করতে চাইছেন "উদাসীন থাকাইভেন্টগুলি ট্রিগার হওয়ার সাথে সাথে।

ওয়ার্ডপ্রেস এর কার্যকরকরণের ধাপগুলি অতিক্রম করার সাথে সাথে এটি কোনও প্লাগইন কিনা তা পরীক্ষা করে দেখেছে (বা থিম) এ সময় কার্যকর করার জন্য একটি ফাংশন রেকর্ড করেছে, যদি কোনও ফাংশন পাওয়া যায় তবে এগুলি কার্যকর করা হবে।

ডকুমেন্টেশন অংশ হিসাবে ওয়ার্ডপ্রেস এর কোডেক্স ওয়ার্ডপ্রেস এপিআই, হুকস, ক্রিয়া এবং ফিল্টারগুলি সঠিকভাবে ব্যাখ্যা করে, আমি এখনও কিছু দরকারী বিশদ সরবরাহ করব:

দুটি প্রধান ধরনের বন্ধনী আছে:

  • কর্ম (এমনকি "অ্যাকশন হুকস")
  • ফিল্টারগুলি (এমনকি "ফিল্টার হুকস")

বাস্তবে, এগুলি তাদের অর্জনের দক্ষতার সাথে বেশ সমান, তবে কিছু সূক্ষ্ম পার্থক্য রয়েছে।

অ্যাকশন এবং ফিল্টারগুলির মধ্যে পার্থক্য

পার্থক্য সম্পর্কে কথা বলার আগে মিলগুলি দিয়ে শুরু করা যাক:

  • অ্যাকশন এবং ফিল্টারগুলি বেশ কয়েকটি প্যারামিটারের মাধ্যমে ডেটা গ্রহণ করে।
  • ক্রিয়াগুলি এবং ফিল্টারগুলি হ'ল, বেশিরভাগ সময় একই জিনিসটি করতে সক্ষম হয় (আপনি যদি ওয়ার্ডপ্রেসের উত্স কোডটি একবার দেখুন, আপনি দেখতে পাবেন যে ক্রিয়াকলাপগুলির জন্য কার্যকর করা ফাংশনগুলি কেবলমাত্র খামের হয় ফিল্টার ফাংশন)।

তবে, একটি প্রয়োজনীয় পার্থক্য এই দুটি ধরনের ওয়ার্ডপ্রেস হুক মধ্যে।

একটি মান ফেরত দেওয়ার জন্য ফিল্টারগুলির প্রয়োজন হয়, ক্রিয়াগুলি এটি করে না।

সংক্ষেপে, একটি ফিল্টার সহ, ফাংশন " লাগানো প্যারামিটার হিসাবে একটি নির্দিষ্ট মান পায়, এটি তার কাজ করে এবং তারপরে এই মানটির একটি পরিবর্তিত সংস্করণ (বা না) প্রদান করে।

কোনও ক্রিয়াকে মান ফেরত দেওয়ার দরকার হয় না।

আরও কার্যকর পদে, একটি ফিল্টার সহ, আপনি সাধারণত সামগ্রীতে কাজ করবেন, আপনার তৈরি করুন পরিবর্তন", তারপরে এই সামগ্রীটি ফেরত দিন। উদাহরণস্বরূপ, আমরা ফিল্টারগুলির নীচে দেখতে পাবেন " title_save_pre কোন নিবন্ধের শিরোনামে একটি ফিল্টার, যখন content_save_pre যা কোনও নিবন্ধের সামগ্রীতে একটি ফিল্টার।

অন্যদিকে, "অ্যাকশন" কিছু করে (কে ডেটা ম্যানিপুলেট করতে পারে অথবা কেবল এই ডেটা ব্যবহার করতে পারে) যখন কোনও ঘটনা ঘটে। কর্ম publish_post "একটি নিবন্ধ প্রকাশিত হলে ট্রিগারগুলি।

কখন এবং কিভাবে একটি অ্যাকশন ব্যবহার

আপনি একটি কর্ম ব্যবহার করবেন যখন:

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

একটি কর্ম যোগ কিভাবে এখানে:

add_action ($ হুক, $ function_to_add, $ অগ্রাধিকার, $ গ্রহণ_ভার);

যেখানে "$ হুক" হুক করতে চান সেই ক্রিয়া হবে, "$ ফাংশন_ টো_ড্ড" হ'ল ফাংশন যা এই হুকটি ট্রিগার করা হলে কার্যকর করা হবে।

কখন এবং কিভাবে একটি ফিল্টার ব্যবহার

উপরের সমস্তটি করার দরকার হলে আপনি একটি ফিল্টার ব্যবহার করতে পারেন, তবে ওয়ার্ডপ্রেস দ্বারা ব্যবহৃত একটি সেটিংসও পরিবর্তন করতে চান।

আসলে এটি কেবল প্রয়োজনই নয়, প্রয়োজনও। আপনি যদি ফিল্টার ব্যবহার করে থাকেন তবে আপনাকে অবশ্যই প্যারামিটারের জন্য একটি মান ফেরত দিতে হবে।

একটি ফিল্টার যুক্ত করার উপায় বন্ধনীগুলির সাথে বেশ অনুরূপ:

add_filter ($ হুক, $ function_to_add, $ অগ্রাধিকার, $ গ্রহণ_ভার);

যেখানে আবার "ook হুক" ব্যবহার করার জন্য ফিল্টার হবে এবং আপনার লেখা উচিত সেই ফাংশনটি "$ ফাংশন_ টু_ড্ড"। পড়ুন ওয়ার্ডপ্রেস দস্তাবেজ হুক আরো জানতে।

একটি ফিল্টার বা ক্রিয়া সরানো

আপনি যেমন ক্রিয়া এবং ফিল্টার যুক্ত করেন, আপনি সেগুলি মুছতেও পারেন। এটি অ্যাকশন এবং ফিল্টার যুক্ত করার বিপরীত তবে সিনট্যাক্সটি খুব অনুরূপ:

remove_action ($ হুক, $ function_to_remove, $ অগ্রাধিকার); remove_filter ($ হুক, $ ফাংশনটি_টলমেন্ট, $ অগ্রাধিকার);

যেখানে "$ অগ্রাধিকার" alচ্ছিক যুক্তি।

"অ্যাড_ফিল্টার" এবং "অপসারণ_ফিল্টার" উভয় ক্ষেত্রে, "$ প্রিওয়েরিটি" হুকগুলিতে আগুনের ক্রমটি নির্ধারণ করে। যদি বেশ কয়েকটি "শৃঙ্খলিত" হুক থাকে তবে সেগুলি একের পর এক কার্যকর করা হবে।

সাধারণ উদাহরণ: কীভাবে গুগল অ্যানালিটিক্স ট্র্যাকিং কোডটি ওয়ার্ডপ্রেসে যুক্ত করবেন

মনে রাখবেন, আমরা ইতিমধ্যেই আপনাকে দেখিয়েছি কিভাবে ওয়ার্ডপ্রেস প্লাগইন তৈরি করতে হয়। এখন আপনাকে যা করতে হবে তা হল আপনার ওয়ার্ডপ্রেস প্লাগইনে নিম্নলিখিত কোডটি যোগ করুন।

// গুগল ইউনিভার্সাল অ্যানালিটিক্স ফাংশন google_analytics () {?>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
 
  ga('create', 'GA-XXXXXX-XX', 'auto');
  ga('send', 'pageview');

এই এই টিউটোরিয়াল জন্য। আমি আশা করি আপনি এখন জানবেন কীভাবে ওয়ার্ডপ্রেসে ফিল্টার এবং ক্রিয়াগুলির মধ্যে পার্থক্য করতে হয়। আপনার যদি কোনও প্রশ্ন থাকে তবে সেগুলি জিজ্ঞাসা করতে দ্বিধা করবেন না।