অনেক থিমে আমি দেখেছি (টোয়েন্টিলেভেন সহ) এবং আমি অনলাইনে যে উদাহরণগুলি পেয়েছি সেগুলিতে, functions.php
কোনও থিমের জন্য ফাইলটি তৈরি করার সময় সমস্ত কার্যকারিতা বিশ্বব্যাপী সুযোগ হিসাবে ঘোষণা করা হয়। স্পষ্ট করার জন্য, এটি একটি সাধারণ ফাংশন ফাইলের মতো দেখাচ্ছে:
function my_theme_do_foo() { // ... }
function my_theme_do_bar() { // ... }
add_action( 'foo_hook', 'my_theme_do_foo' );
এটি আমার কাছে মনে হবে যে কোনও শ্রেণি ব্যবহার করা হলে জিনিসগুলি কিছুটা ভাল "এনপ্যাপসুলেটেড" হতে পারে:
class MyTheme {
function do_foo() { // ... }
function do_bar() { // ... }
}
$my_theme = new MyTheme();
add_action( 'foo_hook', array( &$my_theme, 'do_foo' ) );
দ্বিতীয় পদ্ধতির সুবিধা (আমার নম্র দৃষ্টিতে):
- সংক্ষিপ্ত ফাংশন নাম
- উদাহরণ ভেরিয়েবল অ্যাক্সেস (বৃহত্তম সুবিধা আইএমও)
- কোনও বৈশ্বিক ফাংশন নেই
অসুবিধাগুলি:
- শ্রেণিকাম এখনও দ্বন্দ্ব সৃষ্টি করতে পারে
- চাইল্ড থিমের সাথে "কাস্টমাইজ" করার মতো পরিষ্কার নয় (পিতামাতার শ্রেণিটি প্রসারিত করতে হবে)
- বেশিরভাগ থিমগুলি এটি এভাবে করেনি, তাই আপনি প্রবণতাটি সন্ধান করবেন
আমি সম্ভবত কিছু জিনিস উপেক্ষা করছি, তবে আমি ভাবছি কেন ওওপি পদ্ধতির অবলম্বন করবেন না? এটি কিছুটা হলেও আমার কাছে "ক্লিনার" বোধ করে। সম্ভবত আমি ভুল করছি?
আমি ওয়ার্ডপ্রেস থিম বিকাশে মোটামুটি নতুন, তাই যদি ডাব্লুপি সম্প্রদায়ে সাধারণ জ্ঞান হয় তবে আমাকে ক্ষমা করুন :)। জিনিসগুলি কেন সেভাবে হয় তা কেবল কেবল তা জানার চেষ্টা করা হচ্ছে।