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

WordPress Plugins ช่วยให้การปรับเปลี่ยนการปรับแต่งและการปรับปรุงให้กับบล็อก WordPress ง่ายขึ้น แทนที่จะเปลี่ยนการโปรแกรมหลักของ WordPress คุณสามารถเพิ่มฟังก์ชันการทำงานด้วย WordPress Plugins

30
วัตถุประสงค์วิธีปฏิบัติที่ดีที่สุดสำหรับการพัฒนาปลั๊กอิน? [ปิด]
เริ่มต้นวิกิพีเดียของชุมชนในการเก็บได้ถึงวัตถุประสงค์ปฏิบัติที่ดีที่สุดสำหรับการพัฒนาปลั๊กอิน คำถามนี้เป็นแรงบันดาลใจ@ EAMann ของความคิดเห็นเกี่ยวกับ WP-แฮกเกอร์ แนวคิดนี้คือการร่วมมือกันในการปฏิบัติที่ดีที่สุดตามวัตถุประสงค์เพื่อให้เราสามารถนำไปใช้ในกระบวนการตรวจสอบการทำงานร่วมกันของชุมชนในที่สุด อัปเดต:หลังจากเห็นการตอบกลับสองสามครั้งแรกมันก็ชัดเจนว่าเราต้องมีเพียงหนึ่งความคิด / ข้อเสนอแนะ / แนวปฏิบัติที่ดีที่สุดต่อคำตอบและผู้คนควรตรวจสอบรายการเพื่อให้แน่ใจว่าไม่มีการซ้ำซ้อนก่อนโพสต์

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 …

6
จะใส่รหัสของฉันได้ที่ไหน: plugin หรือ functions.php
มีรูปแบบที่เข้าใจง่ายหรือไม่ในการตัดสินใจว่าโค้ดประเภทใดเป็นของปลั๊กอินหรือธีมfunctions.phpหรือไม่ มีอยู่ หลาย กรณีและหลายการอภิปรายเกี่ยวกับหัวข้อที่ส่วนใหญ่เป็นเพราะมีความเข้าใจผิดบางอย่างเกี่ยวกับการทำงานภายในของ WordPress, ฉันขอคำตอบจากข้อเท็จจริงไม่ใช่ความคิดเห็น ควรอธิบายวิธีจัดการกับประเด็นเหล่านี้ (และอาจมากกว่า): ประเภทโพสต์ที่กำหนดเองและ taxonomies แบบฟอร์มการติดต่อ ย่อ วิดเจ็ตที่กำหนดเอง add_theme_support( 'automatic-feed-links' ); ฟังก์ชั่น SEO เช่นmetaองค์ประกอบที่กำหนดเอง สลับธีม มักจะมีข้อดีข้อเสียสำหรับทั้งสองฝ่าย คำถามที่ได้รับความนิยมมากที่สุดของเราคอลเลกชันที่ดีที่สุดของรหัสสำหรับไฟล์ functions.php ของคุณได้รับข้อมูลโค้ดจำนวนมากเป็นคำตอบที่อย่างน้อยเป็นที่ถกเถียงกัน เราต้องการเกณฑ์ที่ผู้เริ่มต้นสามารถเข้าใจได้อาจเป็นรายการตรวจสอบ - ด้วยเหตุผล ดูคำถามที่เกี่ยวข้องโดย Chip Bennett ในเว็บไซต์ meta ของเรา: คำถามที่ถามวิธีการแก้ปัญหาโดยเฉพาะ "ไม่มีปลั๊กอิน" ที่เกี่ยวข้อง: ฉันจะวางโค้ดขนาดเล็กที่ฉันพบที่นี่หรือที่อื่นบนเว็บได้ที่ไหน

3
add_menu_page () ที่มีชื่อแตกต่างกันสำหรับรายการเมนูย่อยแรก
add_menu_pageเอกสารกล่าวว่าจะผ่านชื่อเมนูเป็นพารามิเตอร์ที่สอง: add_menu_page('Page Title', 'Menu Title', ...); เมื่อเพิ่มหน้าเพิ่มเติมในภายหลังadd_submenu_pageหน้าหลักจะกลายเป็นรายการแรกในเมนูย่อย: อย่างไรก็ตามฉันต้องการรายการแรกในรายการที่มีชื่อแตกต่างกัน (แต่ยังคงชี้ไปที่หน้าเดียวกัน) วิธีที่ Wordpress ทำเอง: ฉันจะทำให้สำเร็จในปลั๊กอินได้อย่างไร?

18
ที่เก็บปลั๊กอิน WPSE: ปลั๊กอินที่มาจาก WP-Answers
เชื่อมโยง WPSE-Plugins ของคุณ หากคุณตอบคำถามและสร้างปลั๊กอินจากรหัสของคุณมากกว่าที่นี่คือที่สำหรับแบ่งปัน The Idea: ความคิดเห็นเก่าจาก@MikeSchinkelในช่วงเบต้าซึ่งเขาเขียนอะไรบางอย่างเช่น "ฉันสงสัยว่าจะมีปลั๊กอินกี่อันที่ออกมาจาก WA" "กฎ" เขียนสั้น - หนึ่งบรรทัด - คำอธิบายของสิ่งที่ปลั๊กอินมีไว้ทำ บอกวิธีการใช้งาน: แท็กแม่แบบย่อรหัสวิดเจ็ต Plug & Play ลิงก์ไปยังปลั๊กอินของคุณด้วยคำตอบบน github / bitbucket / อะไรก็ตามหรือใน repo wp.org โปรดเชื่อมโยงหนึ่งปลั๊กอินต่อคำตอบ หากคุณมีคำตอบที่จะให้บริการเป็นปลั๊กอินเพียงแก้ไข A ของคุณและเชื่อมโยงได้ที่นี่ หากปลั๊กอินของคุณเป็นปลั๊กอินเชิงพาณิชย์ในภายหลังคุณสามารถโพสต์ลิงก์ที่นี่ได้ หากปลั๊กอินของคุณไม่ได้รับลิขสิทธิ์CCU บวก GNU GPL 2 โปรดพูดถึงลิขสิทธิ์ หมายเหตุ: ฉันเพิ่มแท็กชื่อwpse-pluginในคำตอบนี้ โปรดแก้ไข Q (ที่คำตอบของคุณสิ้นสุดลงในฐานะปลั๊กอิน) และเพิ่มแท็กหรือขอให้ผู้ดำเนินการทำเช่นนั้น ฉันจะเพิ่มคำตอบ / ปลั๊กอินที่เพิ่มไว้ที่นี่ โปรดเข้าร่วมการสนทนาเกี่ยวกับเรื่องนี้ในเมตา สำคัญ:เกี่ยวกับสิทธิ์ใช้งาน …

27
ซอฟแวร์สำหรับ WordPress Theme และการพัฒนาปลั๊กอิน? [ปิด]
คุณใช้ซอฟต์แวร์ใดสำหรับความต้องการที่เกี่ยวข้องกับ WordPress ของคุณ? โปรดระบุระบบปฏิบัติการของคุณ ใน windows XP ฉันใช้: filezilla (FTP) notepad ++ (สำหรับการอ่านไฟล์ PHP / CSS) firebug (ส่วนขยายของ Firefox เพื่อให้ฉันเล่นกับองค์ประกอบของเว็บไซต์) สิ่งอื่น ๆ ที่ฉันไม่ได้ใช้เป็นประจำ แต่ต้องการใช้มากขึ้น - xaamp (รุ่นท้องถิ่นของ WP) - github / SVN (ระบบควบคุมเวอร์ชันสำหรับไฟล์ของฉัน) แล้วคุณล่ะ?

3
การโหลดอัตโนมัติและ Namespaces ในปลั๊กอิน WordPress และธีม: มันใช้งานได้ไหม
มีใครใช้การโหลดอัตโนมัติและ / หรือ PHP namespaces ภายในปลั๊กอินหรือชุดรูปแบบ? ความคิดในการใช้พวกเขา? อันตรายใด ๆ ผิดพลาด? หมายเหตุ: เนมสเปซเป็น PHP 5.3 ขึ้นไปเท่านั้น สมมติว่าคุณรู้ว่าคุณกำลังเผชิญกับเซิร์ฟเวอร์ที่คุณรู้ว่ามี PHP 5.3 หรือสูงกว่า

2
ฉันจะเพิ่มฟิลด์การอัพโหลดรูปภาพโดยตรงไปยังแผงการเขียนที่กำหนดเองได้อย่างไร
ฉันได้เพิ่มหน้าใหม่ภายใต้ "หน้า" ในผู้ดูแลระบบ wordpress และเพิ่มเขตข้อมูลที่กำหนดเองหลายแห่ง ฉันต้องการเพิ่มเขตข้อมูลรูปภาพที่อัปโหลดไปยังเครื่องมือแก้ไขหน้า - มีวิธีการผ่านทางฟิลด์ที่กำหนดเองหรือไม่ หรือมีทิศทางอื่นที่ฉันต้องใช้ถ้าฉันต้องการความสามารถนี้?

8
วิธีรวมไฟล์ PHP ในปลั๊กอินในวิธีที่ถูกต้อง
ปัญหาของฉันคือเมื่อไฟล์ปลั๊กอินหลักฉันรวมไฟล์ PHP สิ่งนี้: include(WP_PLUGIN_URL . '/wordpress-group-buying/ipn/paypal-ipn.php'); // or include_once(WP_PLUGIN_URL . '/wordpress-group-buying/ipn/paypal-ipn.php'); // or require(WP_PLUGIN_URL . '/wordpress-group-buying/ipn/paypal-ipn.php'); // or require_once(WP_PLUGIN_URL . '/wordpress-group-buying/ipn/paypal-ipn.php'); และในไฟล์นั้นฉันมีการเรียกไปยังฟังก์ชั่น WordPress เช่น: add_action('hook', 'callback'); และฉันได้รับ: ข้อผิดพลาดร้ายแรง: การเรียกไปยังฟังก์ชั่นที่ไม่ได้กำหนด add_action () ตอนนี้ก่อนที่คุณจะพูดว่า "ใช้if(**function_exists**('add_action')){" ถ้าฉันใช้สิ่งนั้นมันก็ไม่ทำงาน คำถาม: อะไรจะเป็นวิธีที่ถูกต้องในการทำเช่นนั้น? อะไรคือความแตกต่างระหว่างinclude, include_once, requireและเมื่อฉันจะใช้แม่มด?

1
เครื่องมือในการวิเคราะห์กฎการเขียนซ้ำหรือไม่? [ปิด]
มีเครื่องมือที่ดีในการวิเคราะห์กฎการเขียนใหม่ของฉันหรือไม่ ฉันสับสนกับ regexes และการเปลี่ยนพารามิเตอร์เสมอ ฉันได้สร้างบางสิ่งบางอย่างด้วยตัวเองและจะโพสต์ไว้ที่นี่เพื่อให้ผู้อื่นสามารถใช้งานได้ แต่โปรดเพิ่มเครื่องมืออื่น ๆ !

3
ความแตกต่างระหว่างตัวกรองและตะขอการกระทำ?
เมื่อเร็ว ๆ นี้ฉันได้ดูที่ปลั๊กอิน API ลึกลงไปอีกเล็กน้อยและฉันก็สงสัยว่าความแตกต่างที่แท้จริงระหว่างการกระทำและตัวกรองตะขอคืออะไร พวกเขาทั้งสองเป็นเหตุการณ์ที่รับข้อมูลเป็นพารามิเตอร์และพวกเขาดูเหมือนจะสามารถทำสิ่งเดียวกันได้ เห็นได้ชัดว่าฉันเห็นว่ามีการเรียกการกระทำเมื่อมีการกระทำเกิดขึ้นและมีการเรียกใช้ตัวกรองเมื่อมีการจัดการข้อมูล แต่ดูเหมือนว่าจะเป็นความแตกต่างของการตั้งชื่อความหมาย นอกจากความหมายและสิ่งที่ใช้แล้วความแตกต่างที่แท้จริงระหว่างพวกเขามีอะไรบ้าง

1
วิธีที่ดีที่สุดในการเขียนปลั๊กอินที่เปิดใช้งาน AJAX คืออะไร
ฉันสงสัยว่าวิธีที่ต้องการสำหรับจัดการกับการโทร AJAX คืออะไร เราควรใช้ไฟล์ปลั๊กอิน php เดียวกันเพื่อประมวลผล POST หรือไฟล์อื่น? อันไหนสะอาดกว่าหรือปลอดภัยกว่า?

6
กรอบงานสำหรับปลั๊กอิน / แผงตัวเลือกชุดรูปแบบ? [ปิด]
ฉันพบว่าส่วนที่ยาวที่สุดของปลั๊กอินหรือการพัฒนาธีมกำลังสร้างแผงตัวเลือกอย่างน้อยในกรณีของฉัน ดังนั้นฉันชอบที่จะรู้ว่าสิ่งที่คุณใช้เวลาในการที่ คุณใช้เฟรมเวิร์กหรือคลาสที่พร้อมใช้งานหรือไม่? และถ้าเป็นเช่นนั้นแม่มด? หรือคุณเขียนมันขึ้นมาจากศูนย์? ใช้การตั้งค่า API หรือตัวเลือกธรรมดา? ขอบคุณ

16
คุณจะดีบักปลั๊กอินได้อย่างไร?
ฉันค่อนข้างใหม่ในการเขียนโปรแกรมเสริมและกำลังประสบปัญหาในการดีบัก ฉันใช้เสียงสะท้อนมากและเลอะเทอะและน่าเกลียด ฉันแน่ใจว่ามีวิธีที่ดีกว่าในการทำเช่นนี้บางที IDE กับดีบักเกอร์ที่ฉันสามารถเรียกใช้ทั้งไซต์รวมถึงปลั๊กอินได้

5
สร้างตารางในสไตล์ผู้ดูแลระบบหรือไม่
วิธีที่แนะนำในการสร้างหน้าด้วยตารางในรูปแบบของตารางที่แสดงโพสต์หรือผู้ใช้ในพื้นที่ผู้ดูแลระบบคืออะไร? ฉันกำลังขยายปลั๊กอินรูปภาพแคชและมันมีตารางที่มีโดเมนและรูปภาพจำนวนหนึ่งจากโดเมนนั้น ดังนั้นจึงไม่มีตารางที่มีอยู่เทียบเท่าที่ฉันสามารถสร้างเมื่อ (ในรุ่นแรกของคำถามนี้ผมถามเกี่ยวกับตารางที่มีการโพสต์ แต่มีฉันจะ (อาจจะ) ขยายตารางการโพสต์ที่มีอยู่ ) ฉันควรตั้งตัวเองบนหน้าภาพรวมโพสต์แล้วเริ่มต้นด้วย<table class="widefat">หรือมีฟังก์ชั่นที่ดีกว่านี้หรือไม่ คุณรู้หรือเปล่าว่าเป็นตัวอย่างที่ชัดเจนของตารางที่มีการเพจซึ่งฉันสามารถใช้ทำงานได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.