คำถามติดแท็ก development-strategy

5
วิธีที่ดีที่สุดในการเริ่มเรียนในปลั๊กอิน WP?
ฉันได้สร้างปลั๊กอินและแน่นอนว่าเป็นฉันฉันต้องการไปด้วยวิธีการที่ดี OO ตอนนี้สิ่งที่ฉันได้ทำคือการสร้างชั้นนี้แล้วด้านล่างสร้างตัวอย่างของชั้นนี้: class ClassName { public function __construct(){ } } $class_instance = new ClassName(); ฉันสมมติว่ามีวิธี WP มากกว่าที่จะเริ่มชั้นนี้แล้วฉันเจอคนที่บอกว่าพวกเขาชอบที่จะมีinit()ฟังก์ชั่นมากกว่า__construct()หนึ่ง และฉันก็พบว่ามีคนเพียงไม่กี่คนที่ใช้ตะขอต่อไปนี้: class ClassName { public function init(){ } } add_action( 'load-plugins.php', array( 'ClassName', 'init' ) ); อะไรคือวิธีที่ดีที่สุดในการสร้างอินสแตนซ์คลาส WP บนโหลดและมีสิ่งนี้เป็นตัวแปรที่เข้าถึงได้ทั่วโลก? หมายเหตุ:ในฐานะที่เป็นจุดที่น่าสนใจฉันได้สังเกตเห็นว่าในขณะที่register_activation_hook()สามารถถูกเรียกจากภายใน__constructมันไม่สามารถเรียกได้จากภายในinit()โดยใช้ตัวอย่างที่สอง บางทีใครบางคนสามารถสอนฉันในจุดนี้ แก้ไข:ขอบคุณสำหรับคำตอบทั้งหมดเห็นได้ชัดว่ามีการถกเถียงกันพอสมควรว่าจะจัดการกับการเริ่มต้นในชั้นเรียนadd_action( 'plugins_loaded', ...);ได้อย่างไร แก้ไข:เพื่อสร้างความสับสนให้กับเรื่องต่าง ๆ ฉันได้เห็นสิ่งนี้ใช้แล้ว (แม้ว่าฉันจะไม่ใช้วิธีนี้ด้วยตัวเองเพราะการเปลี่ยนคลาส OO ให้เป็นฟังก์ชั่นดูเหมือนจะเอาชนะจุดนั้นได้): // Start …

3
การทำให้ฐานข้อมูล WP ซิงค์กับนักพัฒนาหลายรายโดยใช้ git
ฉันกำลังทำงานเพื่อปรับปรุงกระบวนการทำงานคอมไพล์ของฉันตามที่ใช้กับโครงการพัฒนา WordPress ของฉัน บ่อยครั้งที่เมื่อพัฒนาระบบการจัดการเนื้อหาฉันจะสร้างเซิร์ฟเวอร์การพัฒนา (เช่นhttp://dev.finalsitename.com) ที่มีประเภทโพสต์ที่กำหนดเองและ taxonomies ที่จะใช้ในเวอร์ชันการผลิต สิ่งนี้ทำให้ลูกค้าของฉันเริ่มเพิ่มเนื้อหาลงในไซต์ ขณะที่พวกเขากำลังทำงานนี้ฉันมักจะสร้างรูปลักษณ์และความรู้สึกรวมถึงการเขียนโปรแกรม / ปลั๊กอินที่กำหนดเองที่จะใช้กับสภาพแวดล้อม localhost ของฉัน เพื่อให้แน่ใจว่าฉันจะไม่เขียนทับการอัปเดตใด ๆ ของพวกเขาฉันมักจะดึงสำเนาของฐานข้อมูลลงและแทนที่ของฉัน อย่างไรก็ตามมีบางครั้งที่ฉันเพียงแค่ต้องกระโดดเข้าไปในพื้นที่ WP admin และเปลี่ยนการตั้งค่าหรือสิ่งอื่นเล็ก ... หากมีนักพัฒนาหลายคนกำลังทำงานในโครงการ WordPress เราแต่ละคนจะทำการถ่ายโอนฐานข้อมูล (เวลา) ของรุ่นเว็บไซต์ของเราและรวมไว้ในในไดเรกทอรีรากก่อนที่จะส่งและผลักสาขาท้องถิ่นของพวกเขากลับไปที่พื้นที่เก็บข้อมูลระยะไกล ปัญหาของวิธีนี้คือฐานข้อมูลมักจะไม่ซิงค์กับวิธีที่ง่ายในการพิจารณาว่าจะใช้ นักพัฒนารายอื่นกำลังทำอะไรเพื่อรักษาฐานข้อมูลของตนให้ตรงกันในขณะที่ยังคงอนุญาตให้นักพัฒนาหลายคน (และลูกค้า / ผู้ผลิตเนื้อหา) ทำงานในโครงการเดียวกันได้

9
คุณจะหลีกเลี่ยงการแคชในระหว่างการพัฒนาได้อย่างไร
มีวิธีง่าย ๆ ในการป้องกันการแคชเมื่อทำการทดสอบลักษณะที่ปรากฏของการเปลี่ยนแปลงในเว็บไซต์หรือไม่? ฉันใช้ WP Super Cache ฉันสามารถลบแคชโดยใช้ตัวเลือกที่มีให้ลบแคชสำหรับเบราว์เซอร์ของฉันและยังคงการเปลี่ยนแปลงบางอย่างใน css หรือวิดเจ็ตไม่รีเฟรช ฉันลองแก้ไขอื่น ๆ เช่นสลับเบราว์เซอร์หรือคอมพิวเตอร์ แต่ต้องมีเวิร์กโฟลว์เรียงรายมากขึ้นที่ฉันสามารถมั่นใจได้ว่าฉันกำลังดูการเปลี่ยนแปลงที่ฉันทำและไม่ใช่รูปแบบก่อนหน้านี้บางแคช? ทางออกที่ดีที่สุดสำหรับสิ่งนี้คืออะไร?

2
กลยุทธ์ในการสร้างปลั๊กอินโดยใช้ Eclipse
ใครบ้างที่มีประสบการณ์ในการสร้างปลั๊กอิน WordPress โดยใช้ eclipse PDT สถานการณ์ของฉันคือ ฉันต้องสร้างปลั๊กอินที่ขยายปลั๊กอินอื่น (ดูว่าเป็นรุ่นพรีเมี่ยมจากปลั๊กอินอื่น) ฉันได้สร้างโครงการplugin core(ปลั๊กอินดั้งเดิม) แล้วโดยการนำเข้าจากที่เก็บ svn ฉันสร้างไลบรารี eclipse ที่เรียกว่าwordpressและเพิ่มลงในplugin coreโปรเจ็กต์ ฉันสร้างโครงการอื่นplugin extenderซึ่งจะโฮสต์สคริปต์ที่ฉันสร้าง ปัญหาคือจะทดสอบให้เป็น wordpress ได้อย่างง่ายดายโดยไม่ต้องคัดลอกวางโครงการเหล่านั้นด้วยตนเองได้wp-content/pluginsอย่างไร อย่างไรก็ตามมีการคัดลอกไฟล์เหล่านั้นไปโดยอัตโนมัติwp-content/pluginsหรือไม่? หรือพวกคุณมีวิธีแก้ไขปัญหานี้อีกหรือไม่ ตามบันทึกข้างผมทำงานบน Windows 7 mklinkฉันรู้หน้าต่าง อย่างไรก็ตาม htdocs ของฉันในพาร์ติชัน FAT32 และฉันอยู่ในสถานการณ์ที่ฉันต้องใช้ Windows ในเดือนต่อไปนี้

3
ฉันจะเพิ่มการควบคุมเวอร์ชันในเวิร์กโฟลว์ของฉันได้อย่างไร
ฉันพัฒนาชุดรูปแบบพวกเขามากมาย ฉันได้รับ PSD โค้ด HTML / CSS ตบรหัสลงใน Wordpress และทำการแก้ไขตามที่พวกเขาได้รับ QC'd เมื่อเผยแพร่แล้วลูกค้าสามารถแก้ไขโพสต์บล็อกเช่นปกติหรืออัปโหลดรูปภาพโดยใช้ปลั๊กอินที่กำหนดเอง บางครั้งฉันต้องทำการเปลี่ยนแปลงชุดรูปแบบหรือเนื้อหาของหน้า / โพสต์ซึ่งหมายความว่าฉันทำให้พวกเขาอยู่หรือต้องดาวน์โหลดและติดตั้งเว็บไซต์เพื่อสภาพแวดล้อมการพัฒนาที่จะได้รับอนุมัติจากลูกค้า ฉันไม่มีการสำรองข้อมูลฉันไม่มีการควบคุมเวอร์ชันและฉันรู้ว่าสิ่งนี้จำเป็นต้องเปลี่ยน ได้รับการแนะนำให้ใช้ Git และ Mercurial และฉันต้องการใช้ประโยชน์จากเครื่องมือเหล่านี้ แต่ฉันสับสนเกี่ยวกับวิธีปรับให้เหมาะกับเวิร์กโฟลว์ ฉันต้องมีการเปลี่ยนแปลงทั้งหมดในเว็บไซต์บนเซิร์ฟเวอร์การพัฒนาหรือไม่จากนั้นผลักดันให้พวกเขามีชีวิตอยู่เมื่อได้รับอนุมัติแล้วหรือไม่? แล้วการเขียนบทความในบล็อกล่ะ ดูเหมือนว่า overkill ในการเขียนโพสต์บน dev และผลักดันการเปลี่ยนแปลงแบบสดๆ แต่ฉันจะซิงค์ฐานข้อมูลได้อย่างไรถ้ามีการแก้ไขบนเว็บไซต์จริง ฉันขัดถูอินเทอร์เน็ต คำแนะนำบางอย่างจะได้รับการชื่นชม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.