WordPress_filters (…) আসলে ওয়ার্ডপ্রেসে কী করে?


122

আমি ওয়ার্ডপ্রেসে কিছু ফাংশন বোঝার চেষ্টা করছি, তবে প্রয়োগ_ ফিল্টারগুলি (...) আসলে কী করে তা আমি মাথা পেতে পারি না।

কেউ কি কয়েকটি উদাহরণ দিয়ে আমার জন্য এটি পরিষ্কার করতে সক্ষম?



লক্ষ্য apply_filters()হিসাবে
ফাংশনটিতে আবদ্ধ

@ নাবিলকাডিমি, দুর্দান্ত পরামর্শ, dev.themeblvd.com/tutorial/filters/#highlitter_604585 , কিন্তু যখন এই ফাংশনটি কোনও যুক্তি স্বীকার করে না (আমি কোন ফাংশনটির বিষয়ে কথা বলছি তা দেখার জন্য লিঙ্কটি ক্লিক করুন), কীভাবে $ আউটপুট ভেরিয়েবল পরিবর্তন হবে , তিনি তার পরবর্তী কোড বিভাগে বর্ণনা হিসাবে?
রমেশ পরিক

@ রামেশপ্যারিক আপনার লিঙ্কটি প্রত্যাশার মতো কাজ করছে বলে মনে হচ্ছে না, দয়া করে একটি গিথুব গিস্টটি ব্যবহার করুন।
নাবিল কাদিমি

দুঃখিত! দয়া করে নীচে স্ক্রোল করুন উদাহরণ 1: সেই পৃষ্ঠায় মূল বিষয়গুলি
রমেশ পরিক

উত্তর:


104

apply_filters($tag, $value)add_filterনির্দিষ্ট করা ফিল্টার 'ট্যাগ' এর প্রতিটি ফাংশন 'হুকড' (ব্যবহার করে ) এর জন্য 'মান' যুক্তিটি পাস করে । প্রতিটি ফাংশন মানটির উপর কিছু প্রক্রিয়াকরণ সম্পাদন করে এবং অনুক্রমের পরবর্তী ক্রিয়ায় স্থানান্তরিত করার জন্য একটি পরিবর্তিত মান প্রদান করে।

উদাহরণস্বরূপ, ডিফল্টরূপে (ওয়ার্ডপ্রেস ২.৯-এ) the_contentফিল্টারটি নিম্নলিখিত ক্রিয়াকলাপগুলির মধ্য দিয়ে মানটি পাস করে:

  • wptexturize
  • convert_smilies
  • convert_chars
  • wpautop
  • shortcode_unautop
  • prepend_attachment
  • do_shortcode

এছাড়াও এমন কোনও প্রতিধ্বনি মনে রাখবেন যা আপনি মানটি ব্যবহার করছেন না এমন মনে হয় যদি apply_filters($value)কোনও মান মুছে ফেলা হয় ...
মিস্টার মিজিজ

32

বিলম্বিত উত্তর

সংক্ষিপ্ত ব্যাখ্যা

apply_filters()global $wp_filtersঅ্যারের সাথে ইন্টারঅ্যাক্ট করে । মূলত এটি কেবল অ্যারে পরীক্ষা করে যদি বর্তমান ফিল্টারটিতে (বা হুক) কোনও ক্রিয়া (/ কলব্যাক ফাংশন) সংযুক্ত থাকে এবং তারপরে এটি কল করে।

দীর্ঘ ব্যাখ্যা

আপনি যখন কোনও ফিল্টার বা হুকের সাথে কলব্যাক / ক্রিয়া সংযুক্ত করেন, তখন আপনি কেবল গ্লোবাল ফিল্টার অ্যারেতে কলব্যাক নাম যুক্ত করেন add তারপরে, কোডে (যেমন একটি টেম্পলেট, কোর বা প্লাগইন ফাইলের জন্য) কোনও কল আসে do_action()বা apply_filters()ঘটে তখন ওয়ার্ডপ্রেস অ্যারের মাধ্যমে অনুসন্ধান করে কলব্যাক কল করে। হুকের চেয়ে ফিল্টারগুলির মধ্যে বিশেষ একমাত্র এটি হ'ল এটি কেবল কলব্যাক চালানোর পরিবর্তে মানটি (আরও হ্যান্ডলিংয়ের জন্য) প্রদান করে। সুতরাং সংকলিত আপ: হুক্স করছে সন্নিবেশ যখন ফিল্টার করছে, ডাটা পরিবর্তন ডেটা।


19

সর্বাধিক জনপ্রিয় উত্তর এবং অতিরিক্ত সংস্থানগুলি বিবেচনা করে আমি এখানে কী সংগ্রহ করছি:

  • $ ট্যাগ হুক নামের একটি প্রতিশব্দ বলে মনে হচ্ছে। (এটি আমার কাছে বিশেষভাবে স্বজ্ঞাত নয়))
  • "ফিল্টার" প্রকারের হুকের উদাহরণ হ'ল_কন্টেন্ট।
  • the_conant হুক একাধিক ফিল্টার নিয়ে গঠিত।
  • ফিল্টার ডেটা পরিবর্তন করে। তারা মূলত ডাটাবেস ফিল্টার করে, ব্যবহারকারীরা এটি দেখার আগে ডেটা পরিবর্তন করে।
  • উদাহরণস্বরূপ, প্রয়োগ_ ফিল্টারগুলি () এর সাধারণ ব্যবহার হ'ল $ সামগ্রীগুলিতে_কন্টেন্ট ফিল্টার প্রয়োগ করা। এই উদাহরণে, ডাবল রিটার্নগুলি <p>ট্যাগগুলিতে রূপান্তরিত হবে , স্মাইলি মুখগুলি আইকনগুলিতে রূপান্তর করবে ইত্যাদি etc.
  • "দ্য কনটেন্ট" হুক, যখন "দ্য কনটেন্ট ()" একটি ফাংশন।

1

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


3
দুঃখিত, এটি প্রায় ভুল উপায়: প্রয়োগ_ ফিল্টার () ফিল্টার হুককে কল করে যা ইতিমধ্যে আরম্ভ করা হয়েছে এবং অ্যাড_ফিল্টার () কলটি যা ফিল্টার হুক তৈরি করে। আমি জানি আপনি আসলে এটি বোঝাতে চেয়েছিলেন তবে ভুল পদ্ধতিতে আপনার কাজগুলি রয়েছে!
ব্রায়ান সি

apply_filters ($ ট্যাগ, $ মান); আপনাকে আপনার কোডে এমন একটি জায়গা তৈরি করতে দেয় যেখানে আপনি তখন যে pass মানটি পাস করতে পারেন তাতে অ্যাড_ফিল্টার () ব্যবহার করে সংশোধন করার অনুমতি দিতে পারে;
স্টাইলডেভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.