کسٹم شارٹ کوڈز کے ساتھ ایک Divi بلاگ کی دوبارہ تعمیر
میں نے حال ہی میں Rev6 کے لیے بلاگ کو ری ڈیزائن کیا ہے، جو WordPress، Divi، اور Cloudways کا استعمال کرنے والا ایک فٹنس پلیٹ فارم ہے۔
میں نے معیاری Divi Blog ماڈیول کا استعمال نہیں کیا۔ اس میں کسٹم URL روٹنگ اور ممبرشپ فیچرز کے لیے ضروری کنٹرول کی کمی ہے۔ اس کے بجائے، میں نے چائلڈ تھیم (child theme) میں کسٹم شارٹ کوڈز کا ایک سسٹم بنایا۔
یہ طریقہ کار لاجک کو پیج بلڈر ڈیٹا بیس کے اندر چھپانے کے بجائے ورژن شدہ PHP میں رکھتا ہے۔
اس سیٹ اپ میں یہ شارٹ کوڈز استعمال کیے گئے ہیں:
- [rev6_blog_sidebar] نیویگیشن اور سرچ کے لیے
- [rev6_sort_dropdown] ترتیب (sorting) کے لیے
- [rev6_post_grid] لے آؤٹ کے لیے
- [rev6_author_bar] بائی لائن (byline) کے لیے
- [rev6_author_bio] مصنف کے سیکشن کے لیے
- [rev6_related_posts] مزید مطالعہ کے لیے
اس تعمیر سے حاصل ہونے والے میرے تکنیکی تجربات درج ذیل ہیں:
سست CSS grid ہیکس (hacks) سے بچیں میں نے ایک بار سائیڈ بار کو پوری پیج پر پھیلانے کے لیے
grid-row: 1 / span 999کا استعمال کیا تھا۔ اس سے ہزاروں خالی قطاریں اور بہت زیادہ خالی جگہ (whitespace) پیدا ہو گئی۔ اس کے بجائے 'named grid areas' کا استعمال کریں۔ یہ زیادہ صاف ستھرا اور محفوظ طریقہ ہے۔اپنے کوڈ سے پہلے اپنے ڈیٹا کو چیک کریں میں نے ایک "related posts" سیکشن کو ڈی بگ (debug) کرنے میں کافی وقت صرف کیا جو ظاہر نہیں ہو رہا تھا۔ کوڈ بالکل درست تھا۔ مسئلہ ڈیٹا میں تھا۔ اس کیٹیگری میں صرف ایک ہی پوسٹ تھی۔ میرے کوڈ نے موجودہ پوسٹ کو نکال دیا، جس کے نتیجے میں صفر نتائج رہ گئے۔ اپنے فنکشنز میں بگ (bugs) تلاش کرنے سے پہلے ہمیشہ اپنے ڈیٹا بیس کے مواد کی تصدیق کریں۔
فائلوں اور ڈیٹا بیس کے درمیان فرق کو سمجھیں جب میں نے اسٹیجنگ (staging) سے لائیو (live) پر منتقلی کی، تو لے آؤٹ غلط نظر آ رہا تھا۔ میں نے اسے CSS کے ذریعے ٹھیک کرنے کی کوشش کی، لیکن وہ ناکام رہا۔ مسئلہ یہ تھا کہ امپورٹس (imports) ٹیمپلیٹس کو منتقل کرتے ہیں، ڈیٹا بیس کے مواد کو نہیں۔ ماڈیول کی چوڑائی اور پوسٹ کی تفویض (assignments) جیسی چیزیں ڈیٹا بیس میں ہوتی ہیں۔ اگر منتقلی کے بعد لے آؤٹ مختلف ہو، تو اسٹائل شیٹ کے بجائے ڈیٹا بیس کو دیکھیں۔
کبھی بھی مکمل ڈیٹا بیس کو پروڈکشن (production) پر پش نہ کریں مکمل سنک (sync) کرنے سے آرڈرز اور رجسٹریشنز جیسے اصل صارف کا ڈیٹا اوور رائٹ (overwrite) ہو جاتا ہے۔ بلاک پش کے بجائے ہدف شدہ ٹرانسفرز (targeted transfers) کا استعمال کریں۔
کیش (Cache) پہلا قدم ہے آپٹیمائزڈ سائٹس پر، CSS آپٹیمائزیشن ٹولز اکثر ان اسٹائلز کو ہٹا دیتے ہیں جنہیں وہ غیر استعمال شدہ سمجھتے ہیں۔ اگر آپ کے اسٹائلز ادھورے نظر آئیں، تو پہلے اپنا کیش صاف کریں اور اپنا CSS دوبارہ جنریٹ کریں۔
ری ڈیزائن اب لائیو ہے۔ اس میں ایک صاف ستھرا ادارتی لے آؤٹ اور ایک کسٹم مصنف سسٹم شامل ہے۔ کوڈ آسان حصہ تھا۔ اصل اسباق ماحول نے فراہم کیے۔
ماخذ: https://dev.to/highcenburg/rebuilding-a-divi-blog-with-custom-shortcodes-a-field-report-141g