Advertisement
firoze

থীমফরেস্টে থীম রিজেক্টের তিনটা টেকনিক্যাল কমন কারণ ফলোআপ করব

Mar 25th, 2016
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.30 KB | None | 0 0
  1. আজ থীমফরেস্টে থীম রিজেক্টের তিনটা টেকনিক্যাল কমন কারণ ফলোআপ করব ... ইনবক্সে আসা তিনটা খুব কমন প্রশ্নের উত্তর 😊 ...
  2. .
  3. .
  4. ১) Data Validation Issue: ওয়ার্ডপ্রেসে থীম রিজেক্ট খাবার অন্যতম প্রধান কারণ হলো এই ড্যাটা ভ্যালিডেশন ... ধরেন আপনি থীমে একটা কাস্টম মেটা ফিল্ড তৈরি করেছেন … এই মেটা ভ্যালু থীমে ইউজ করার সময় সর্বদা ভ্যালিডেট করে নিতে হবে ... রিভিউয়ার ধরলে মাইর দিবে গ্যারান্টি 😄 ...
  5. .
  6. ধরেন উদাহরণঃ $my_meta_value = get_post_meta($post_id, $key , $single);
  7. .
  8. .
  9.  
  10. $my_meta_value যদি থীমে সরাসরি এভাবে নগ্নভাবে ইউজ করেন হার্ড রিজেক্ট খাবেন … একটা সঠিক উদাহরণ হতে পারে এমন …
  11.  
  12. $my_meta_value = get_post_meta($post_id, $key , $single);
  13.  
  14. এখন $my_meta_value যদি কোন string হয় তবে এটাকে নিচের মত করে validate করে নিতে পারি ...
  15.  
  16. $my_meta_value = esc_attr ($my_meta_value);
  17. .
  18. .
  19.  
  20. অথবা,
  21.  
  22. $my_url = get_post_meta($post_id, $key , $single);
  23.  
  24. $my_url মেটা ভ্যালু যদি কোন url হয় তবে এটাকে নিচের মত করে validate করে নিতে পারি ...
  25.  
  26. $valid_protocols = array ('http', 'https');
  27.  
  28. $my_url = esc_url( $my_url, $valid_protocols );
  29. .
  30. .
  31. ওয়ার্ডপ্রেস ড্যাটা ভ্যালিডেশনের জন্য প্রচুর ফাংশন রয়েছে … সব ফাংশনের সাথে পরিচিত হতে এখানে ঢু মারেনঃ https://goo.gl/vKVhNI 😊 ...
  32. .
  33. .
  34. ২) আরেকটি কারণ হল ... যে কোন কাস্টম গ্লোবাল ভেরিয়েবল অবশ্যই যথেচ্ছ ভাবে যে কোন জায়গায় ডিক্লেয়ার করা যাবে না … করলে হার্ড রিজেক্ট খাবেন … তবে ওয়ার্ডপ্রসের ন্যাটিভ সব Global Variable যেমনঃ wp_query, $post, $wp_version, $post_type ইত্যাদি যে কোন জায়গায় ব্যবহার করা যাবে … সমস্যা নাই …
  35. .
  36. .
  37. এছাড়া Global Variable ইচ্ছামত যে কোন জায়গায় ডিক্লেয়ার করলে স্ক্রিপ্টের পারফরমেন্সেও বেশ ইফেক্ট পড়ে … এছাড়া conflict হয়ে উলটাপালটা আউটপুট দেখানোর সম্ভাবনাও প্রচুর … যে কোন Custom Declared Global Variable অবশ্যই Custom Function or Class এর ভেতর ডিক্লেয়ার করতে হবে …
  38.  
  39. .
  40. .
  41. That means for example you can’t do …
  42.  
  43. global $myGlobalVariable;
  44.  
  45. function MyFunction(){
  46. // do something
  47. }
  48.  
  49. You are going to get a hard rejection baby 😃 …
  50. .
  51. .
  52. The proper way is …
  53.  
  54. function MyFunction(){
  55.  
  56. global $myGlobalVariable;
  57.  
  58. // do something
  59.  
  60. }
  61.  
  62. .
  63. .
  64.  
  65. ৩) থীমে কোন প্লাগিন সেটা থার্ড পার্টি হোক বা নিজের ডেভেলপ করা হোক সরাসরি থীমে ইনক্লুড করে দেয়া যাবে না … এমনকি থীমে ব্যবহার হওয়া নিজের কোড করা শর্ট কোড গুলোও আলাদা প্লাগিনে দিতে হবে …
  66.  
  67. .
  68. যদি থীম কোন প্লাগিনের উপর ডিপেন্ডেন্টই হয় … তবে প্লাগিন গুলো TGM Class দিয়ে রিকোয়ার্ড প্লাগিন হিসেবে কল করে দেয়া যাবে …
  69. .
  70. .
  71. তবে এখানেও কথা আছে … TGM Class দিয়ে নোটিশ দেখানোর পরেও যদি ইউজার সেই প্লাগিন ইন্সটল না করে … তার পরেও থীম ফুলি ফাংশনাল হতে হবে …
  72. .
  73. .
  74. মানে সেই প্লাগিন ছাড়া শুধু সেই প্লাগিনের ফাংশনালিটি বাদ দিয়ে বাকি সব কিছু যেন ঠিক ঠাক মত কাজ করে … অর্থাৎ You have to keep the inclusion of a plugin fully optional not mandatory …
  75. .
  76. .
  77. ধরেন আপনার থীম Visual Composer ইউজ করে … এটা আপনি থীমে সরাসরি বাইন্ড না করে আলাদা প্লাগিন হিসেবেই রেখে থীমের সাথে বান্ডিল করে দিবেন …
  78. .
  79. .
  80. আর TGM Class দিয়ে ইউজারকে নোটিশ দিবেন “Recommended Plugins” … ইউজারের যদি VC ভালো না লাগে আর সে ইন্সটল না করতে চায় আর ইন্সটল না করে … তারপরেও থীম ঠিক মত কাজ করতে হবে …
  81.  
  82. .
  83. .
  84. উপরের ৩ টা থীম হার্ড রিজেক্ট খাবার খুবই কমন ৩ টা কারণ … আজ এই পর্যন্তই … এক পোস্টে সব আলোচনা করা সম্ভব নয় … পর্যায়ক্রমে এক এক করে সব দিব ইনশাল্লাহ 😊 …
  85.  
  86. .
  87.  
  88. 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