আইসেটে "সমস্ত" কী ($ wp_filter ['all'])


10

আমি ওয়ার্ডপ্রেসে একজন নবাগত। আমি কীভাবে এটি এক্সএইচটিএমএল পৃষ্ঠা তৈরি করে তা বোঝার চেষ্টা করছি। আমি অনুমান করি এটি এর ফাংশন do_action( 'hook-name' ), তবে isset( $wp_filter['all] )do_ کړি ফাংশনটি পড়ার সময় আমি নির্দেশের বোঝার সাথে আটকে আছি কারণ শব্দের অর্থ কী তা আমি বুঝতে পারি না all

এটি কি পিএইচপি বৈশিষ্ট্য বা ওয়ার্ডপ্রেস এক?

উত্তর:


9

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

উত্সটি দেখার জন্য আমি খুব বেশি সময় ব্যয় করব না do_action, কেবল এটি জেনে নিন:

  1. add_action( 'x', 'whatever' )whateverআগুন মানেdo_action( 'x' )
  2. add_action( 'all', 'whatever' )হুক নাম নির্বিশেষে প্রত্যেকেরwhatever জন্য আগুনের অর্থ হবে । do_action

5

শর্তসাপেক্ষে if ( isset($wp_filter['all']) ) {আপনি এই হুক তৈরির ফাংশনগুলিতে ডানদিকে পেতে পারেন:

  • apply_filters
  • apply_filters_ref_array
  • do_action
  • do_action_ref_array

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

ঠিক আছে, এইভাবে আপনি হুক তৈরি করেন these এবং হুকের নাম রয়েছে এবং আপনি একই হুক নামের একাধিক ফাংশনের নামগুলি (পড়ুন: ট্যাগ) ফিশ করতে পারেন।

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

তবে একবার আপনি নির্দিষ্ট হুকের সাথে যুক্ত সমস্ত ফাংশন সংজ্ঞায়িত করার পরে, আপনাকে কোনও কোনও হুকের নাম এবং সম্পর্কিত ফাংশন নাম সংরক্ষণ করতে হবে। এই কারণেই আমরা global $wp_filterওয়ার্ডপ্রেসে অ্যাভ করে থাকি । যদি আপনি সেই পরিবর্তনশীল আউটপুট করেন তবে আপনি এমন কিছু পাবেন ...

Array
(
    [pre_term_name] => Array
        (
            [10] => Array
                (
                    [sanitize_text_field] => Array
                        (
                            [function] => sanitize_text_field
                            [accepted_args] => 1
                        )

                    [wp_filter_kses] => Array
                        (
                            [function] => wp_filter_kses
                            [accepted_args] => 1
                        )

                )

            [30] => Array
                (
                    [_wp_specialchars] => Array
                        (
                            [function] => _wp_specialchars
                            [accepted_args] => 1
                        )

                )

        )

ঠিক আছে, আসুন আমরা এই পরিবর্তনশীলটির নামে তর্ক না করি। ব্যক্তিগতভাবে, আমি এটিকে আলাদা বলব, সম্ভবত $wp_hooksএই নামটি নেওয়া হয়নি। যাইহোক, আমরা যদি ইতিহাসে ফিরে যাই তবে আমরা দেখতে পাব do_actionযেটি তখন থেকেই @since 1.2.0এবং apply_filtersএটি @since 0.71(9 ই জুন, 2003 এ প্রকাশিত)। এটি আপনাকে কেন বলা হয় তা বেশ ভাল ব্যাখ্যা দেয় $wp_filter। এটি সবচেয়ে সম্ভাব্য কারণ ফিল্টারগুলি প্রথমে ওয়ার্ডপ্রেসে চালু হয়েছিল। পরে তারা কর্মের পরিচয় দেয়।

@DeadMedic থেকে সবেমাত্র বলা হচ্ছে ...

যোগ_অ্যাকশন ('সমস্ত', 'যাই হোক না কেন') এর অর্থ হুকের নাম নির্বিশেষে প্রতিটি ডুঅ্যাকশনের জন্য যা কিছু আগুন লাগে will

আমি প্রশ্ন উত্থাপন কেন আমাদের প্রয়োজন $wp_filter['all']? মাত্র কয়েকটি উদাহরণ। ভবিষ্যতের ওয়ার্ডপ্রেস সংস্করণগুলিতে সিস্টেমের অভ্যন্তরীণ বৈশিষ্ট্যগুলির অন্তঃসত্ত্বা, পরীক্ষা এবং সম্ভাব্য আরও বেশি।

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