Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- আজ থীমফরেস্টে থীম রিজেক্টের তিনটা টেকনিক্যাল কমন কারণ ফলোআপ করব ... ইনবক্সে আসা তিনটা খুব কমন প্রশ্নের উত্তর 😊 ...
- .
- .
- ১) Data Validation Issue: ওয়ার্ডপ্রেসে থীম রিজেক্ট খাবার অন্যতম প্রধান কারণ হলো এই ড্যাটা ভ্যালিডেশন ... ধরেন আপনি থীমে একটা কাস্টম মেটা ফিল্ড তৈরি করেছেন … এই মেটা ভ্যালু থীমে ইউজ করার সময় সর্বদা ভ্যালিডেট করে নিতে হবে ... রিভিউয়ার ধরলে মাইর দিবে গ্যারান্টি 😄 ...
- .
- ধরেন উদাহরণঃ $my_meta_value = get_post_meta($post_id, $key , $single);
- .
- .
- $my_meta_value যদি থীমে সরাসরি এভাবে নগ্নভাবে ইউজ করেন হার্ড রিজেক্ট খাবেন … একটা সঠিক উদাহরণ হতে পারে এমন …
- $my_meta_value = get_post_meta($post_id, $key , $single);
- এখন $my_meta_value যদি কোন string হয় তবে এটাকে নিচের মত করে validate করে নিতে পারি ...
- $my_meta_value = esc_attr ($my_meta_value);
- .
- .
- অথবা,
- $my_url = get_post_meta($post_id, $key , $single);
- $my_url মেটা ভ্যালু যদি কোন url হয় তবে এটাকে নিচের মত করে validate করে নিতে পারি ...
- $valid_protocols = array ('http', 'https');
- $my_url = esc_url( $my_url, $valid_protocols );
- .
- .
- ওয়ার্ডপ্রেস ড্যাটা ভ্যালিডেশনের জন্য প্রচুর ফাংশন রয়েছে … সব ফাংশনের সাথে পরিচিত হতে এখানে ঢু মারেনঃ https://goo.gl/vKVhNI 😊 ...
- .
- .
- ২) আরেকটি কারণ হল ... যে কোন কাস্টম গ্লোবাল ভেরিয়েবল অবশ্যই যথেচ্ছ ভাবে যে কোন জায়গায় ডিক্লেয়ার করা যাবে না … করলে হার্ড রিজেক্ট খাবেন … তবে ওয়ার্ডপ্রসের ন্যাটিভ সব Global Variable যেমনঃ wp_query, $post, $wp_version, $post_type ইত্যাদি যে কোন জায়গায় ব্যবহার করা যাবে … সমস্যা নাই …
- .
- .
- এছাড়া Global Variable ইচ্ছামত যে কোন জায়গায় ডিক্লেয়ার করলে স্ক্রিপ্টের পারফরমেন্সেও বেশ ইফেক্ট পড়ে … এছাড়া conflict হয়ে উলটাপালটা আউটপুট দেখানোর সম্ভাবনাও প্রচুর … যে কোন Custom Declared Global Variable অবশ্যই Custom Function or Class এর ভেতর ডিক্লেয়ার করতে হবে …
- .
- .
- That means for example you can’t do …
- global $myGlobalVariable;
- function MyFunction(){
- // do something
- }
- You are going to get a hard rejection baby 😃 …
- .
- .
- The proper way is …
- function MyFunction(){
- global $myGlobalVariable;
- // do something
- }
- .
- .
- ৩) থীমে কোন প্লাগিন সেটা থার্ড পার্টি হোক বা নিজের ডেভেলপ করা হোক সরাসরি থীমে ইনক্লুড করে দেয়া যাবে না … এমনকি থীমে ব্যবহার হওয়া নিজের কোড করা শর্ট কোড গুলোও আলাদা প্লাগিনে দিতে হবে …
- .
- যদি থীম কোন প্লাগিনের উপর ডিপেন্ডেন্টই হয় … তবে প্লাগিন গুলো TGM Class দিয়ে রিকোয়ার্ড প্লাগিন হিসেবে কল করে দেয়া যাবে …
- .
- .
- তবে এখানেও কথা আছে … TGM Class দিয়ে নোটিশ দেখানোর পরেও যদি ইউজার সেই প্লাগিন ইন্সটল না করে … তার পরেও থীম ফুলি ফাংশনাল হতে হবে …
- .
- .
- মানে সেই প্লাগিন ছাড়া শুধু সেই প্লাগিনের ফাংশনালিটি বাদ দিয়ে বাকি সব কিছু যেন ঠিক ঠাক মত কাজ করে … অর্থাৎ You have to keep the inclusion of a plugin fully optional not mandatory …
- .
- .
- ধরেন আপনার থীম Visual Composer ইউজ করে … এটা আপনি থীমে সরাসরি বাইন্ড না করে আলাদা প্লাগিন হিসেবেই রেখে থীমের সাথে বান্ডিল করে দিবেন …
- .
- .
- আর TGM Class দিয়ে ইউজারকে নোটিশ দিবেন “Recommended Plugins” … ইউজারের যদি VC ভালো না লাগে আর সে ইন্সটল না করতে চায় আর ইন্সটল না করে … তারপরেও থীম ঠিক মত কাজ করতে হবে …
- .
- .
- উপরের ৩ টা থীম হার্ড রিজেক্ট খাবার খুবই কমন ৩ টা কারণ … আজ এই পর্যন্তই … এক পোস্টে সব আলোচনা করা সম্ভব নয় … পর্যায়ক্রমে এক এক করে সব দিব ইনশাল্লাহ 😊 …
- .
- Develop your themes the right way n be safe from all kinds of rejection issues
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement