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

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

3
สคริปต์ Vagrant เพื่อติดตั้งชุดค่าผสม PHP / WordPress ทุกรุ่น
ฉันกำลังมองหาวิธีการได้อย่างรวดเร็วและซ้ำ ๆ ตั้งค่าการทดสอบ / การแก้จุดบกพร่องสภาพแวดล้อมสำหรับปลั๊กอินของเราส่วนใหญ่อาจใช้คนจรจัด โครงการเช่นVVVมุ่งเน้นไปที่การตั้งค่าสภาพแวดล้อมเดียว (หรือสองสามสภาพแวดล้อมเช่นเสถียร / ลำตัว) ในขณะที่สิ่งที่ฉันกำลังมองหาคือสคริปต์ที่จะติดตั้งสภาพแวดล้อมเช่น: wp39-php52.local wp40-php52.local wp41-php52.local wp39-php53.local wp40-php53.local เป็นต้น (คุณจะได้รับความคิด) มีอะไรแบบนี้เหรอ? สิ่งที่ฉันพบมากที่สุดคือWordPress Vagrant Boxesซึ่งอย่างน้อยก็ทำเวอร์ชั่น PHP แต่อาจจะมีบางอย่างที่สมบูรณ์กว่านี้ ขอบคุณ

3
อัปเกรดปลั๊กอิน: การตั้งค่าวิดเจ็ต
ฉันได้ลองทำวิจัยเรื่องนี้แล้ว แต่ยังไม่พบว่ามีอะไรที่แข็ง ฉันมีปลั๊กอินที่ฉันใช้งานและระหว่างเวอร์ชันล่าสุดและเวอร์ชันใหม่ที่เราได้ทำการปรับปรุงบางอย่างสำหรับวิดเจ็ตที่เปลี่ยนชื่อการตั้งค่าบางส่วน (ในแบ็กเอนด์) และฉันมีปัญหาในการสร้างรูทีนการอัพเกรดเพื่อทำสิ่งนี้ สิ่งที่ฉันได้ทำจนถึงตอนนี้ที่ดูเหมือนว่าจะทำงาน (ส่วนใหญ่) คือ: $widget = get_option( 'widget_name' ); if( is_array( $widget ) && ! empty( $widget ) ) { foreach( $widget as $a => $b ) { if( ! is_array( $b ) ) { continue; } foreach( $b as $k => $v ) { $widget[$a]['setting1'] …

1
เพิ่มแท็บใหม่ลงในรายการติดตั้งปลั๊กอิน Wordpress
เมื่อผู้ใช้ค้นหาปลั๊กอินจากพื้นที่ Add Plugin ของ WP Admin ฉันต้องการเพิ่มแท็บใหม่ (พร้อมลิงค์ไปยังหน้า) ถัดจากแท็บปัจจุบัน ตำแหน่งที่ฉันต้องการให้ลิงค์ถูกทำเครื่องหมายในภาพหน้าจอด้านล่าง มองหามัน @ http://codex.wordpress.org/Adding_Administrator_Menusแต่ไร้ประโยชน์ WP อนุญาตหรือไม่ ขอบคุณล่วงหน้า.

1
การบันทึก data-URI ไปยังไลบรารีสื่อ
ฉันมีปลั๊กอิน TinyMCEที่สร้างภาพ PNG โดยใช้HTMLCanvasElement.toDataURL()( MDN ) ขณะนี้ฉันเพิ่งแสดงไว้ที่แบ็กเอนด์โดยใส่ data-URI ลงในแท็กรูปภาพ แต่ฉันต้องการเพิ่มสิ่งเหล่านี้ใน WordPress Media Library อะไรคือวิธีที่ดีที่สุด (เช่นเข้ากันได้กับมาตรฐานวีไอพี) ของการอัปโหลดภาพที่ต่อเนื่องกันเป็น base64-encoded data-URI นี่คือฟังก์ชั่นอัพโหลดของฉัน: <?php /** * AJAX callback that inserts chart as attachment into the WP database */ public static function insert_axis_attachment() { // Get config $axis_config = json_decode( $_POST['axisConfig'] ); if ( ! …

3
ส่งอีเมลยืนยันการใช้งานผู้ใช้เมื่อสร้างผู้ใช้โดยทางโปรแกรม
ฉันสงสัยว่าคนที่นี่อาจช่วยได้หรือไม่ โดยพื้นฐานแล้วฉันได้สร้างฟอร์มการลงทะเบียนที่กำหนดเองซึ่งเมื่อผ่านการตรวจสอบแล้วจะแทรกผู้ใช้ไปยังตารางผู้ใช้ function _new_user($data) { // Separate Data $default_newuser = array( 'user_pass' => wp_hash_password( $data['user_pass']), 'user_login' => $data['user_login'], 'user_email' => $data['user_email'], 'first_name' => $data['first_name'], 'last_name' => $data['last_name'], 'role' => 'pending' ); wp_insert_user($default_newuser); } ตอนนี้สิ่งที่ฉันต้องทำก็คือแทนที่จะส่งอีเมลยืนยันซึ่งฉันรู้ว่าฉันสามารถทำได้ด้วยรหัสต่อไปนี้ wp_new_user_notification($user_id, $data['user_pass']); ฉันต้องการส่งอีเมลเปิดใช้งานผู้ใช้แทน ฉันลองอะไรมาบ้างแล้วแต่ฉันไม่สามารถหาอะไรที่เป็นรูปธรรมได้ หวังว่าบางคนอาจเคยมีปัญหานี้มาก่อน

4
เปลี่ยน the_title () ของหน้าเว็บแบบไดนามิก
ฉันกำลังพัฒนาปลั๊กอินที่ไม่ได้ใช้ประเภทโพสต์ที่กำหนดเอง แต่แยกตารางฐานข้อมูล เป็นปลั๊กอินที่แสดงรายการของหลักสูตรที่มีลิงก์ที่นำไปสู่หน้ารายละเอียดหลักสูตรที่แตกต่างกันซึ่งผู้ใช้สามารถสมัครเรียนหลักสูตรได้ ในสถานะปัจจุบันฉันใช้รหัสย่อเพื่อดึงข้อมูลปลั๊กอินลงในหน้าด้วยเทมเพลตหน้าแบบกำหนดเอง (page-courses.php) ตอนนี้ฉันต้องการเปลี่ยนthe_title()แบบไดนามิกตามหน้าเว็บที่ปลั๊กอินแสดง (รายการหลักสูตรหน้ารายละเอียดหลักสูตรพร้อมแบบฟอร์มหน้าส่งแบบฟอร์มสำเร็จ) แต่เมื่อใดก็ตามที่ฉันทำอย่างนั้นกับตัวกรองต่อไปนี้ลิงก์ไปยังหน้าอื่น ๆ ในส่วนท้ายก็เปลี่ยนไปเช่นกัน: <?php add_filter('the_title', 'custom_page_title'); function custom_page_title() { return 'Custom Title'; } แก้ไข ใน footer.php ฉันมีฟังก์ชั่นที่มีลิงค์ส่วนท้ายด้วยwp_nav_menu()ดังนั้นฉันจึงสามารถกำหนดได้ในลักษณะ> เมนู แต่ด้วยตัวกรองด้านบนลิงก์ทั้งหมดในส่วนท้ายก็เปลี่ยนเป็น 'ชื่อที่กำหนดเอง' แต่ฉันต้องการเปลี่ยนชื่อของหน้าไม่ส่งผลต่อลิงก์เมนูในส่วนท้าย การพยายามเพิ่มแท็กแบบมีเงื่อนไขin_the_loop()ลิงก์ส่วนท้ายยังคงได้รับผลกระทบแม้ว่าจะไม่ได้อยู่ในลูปก็ตาม <?php add_action( 'loop_start', 'set_custom_title' ); function set_custom_title() { if ( in_the_loop() ) { add_filter( 'the_title', 'custom_page_title' ); } } function custom_page_title() …

4
ป้องกันการเปิดใช้งานเครือข่ายของปลั๊กอิน
ฉันมีปลั๊กอินที่ไม่รองรับการเปิดใช้งานเครือข่ายในขณะนี้ การแก้ไขที่ดีที่สุดสำหรับหลักสูตรนี้คือการแก้ไข :) ซึ่งฉันวางแผนจะทำ อย่างไรก็ตามฉันสงสัยว่ามีวิธีแก้ปัญหาชั่วคราวที่ฉันสามารถใช้เพื่อป้องกันการเปิดใช้งานเครือข่ายในระหว่างนี้อาจเป็นเวิร์กโฟลว์ที่คล้ายกับ: ตรวจสอบว่าการเปิดใช้งานทั่วทั้งเครือข่าย (อย่างไร ??) แสดงข้อความที่ไม่รองรับในปัจจุบันและฉันเหม็นฉันขอโทษ ขัดจังหวะการเปิดใช้งานหรือปิดใช้งาน หรือยอมรับคำแนะนำอื่น ๆ ขอบคุณ สำหรับการชี้แจง: การเปิดใช้งานหลายไซต์นั้นใช้ได้ แต่ไม่ใช่การเปิดใช้งานทั้งเครือข่าย

2
wp-content / install.php เป็นแบบ Drop-in หรือไม่?
ฉันไม่พบเอกสารหรือการสนทนาเกี่ยวกับสิ่งที่และวิธีการใช้ปลั๊กอินดร็อปอิน คำถามที่ถูกยกขึ้นใน Q นี้ & A เนื้อหาเติมเกี่ยวกับการติดตั้ง เป็นwp-content/install.phpไฟล์ที่นิยามใหม่ของฟังก์ชั่น pluggable wp_install_defaultsแบบหล่นในปลั๊กอินหรือไม่? ผลการวิจัยของฉัน รายการต่อไปนี้จากบทความของ hakre (ซึ่งน่าจะเป็นที่มาของชุดอื่น ๆ ทั้งหมดใน interwebs) File Type of Plugin Loaded Context advanced-cache.php Advanced caching plugin. on WP_CACHE value Single db.php Custom database class always Single db-error.php Custom database error message on error Single install.php Custom install script on …

4
รับเนื้อหาของหน้าโดยใช้กระสุน
ฉันพยายามรับเนื้อหาของหน้าเว็บเมื่อฉันรู้จักสตริงกระสุนเท่านั้น มีฟังก์ชั่นสำหรับสิ่งนี้หรือวิธีที่ง่ายในการทำสิ่งนี้หรือเป็นกรณีของการทำมันผ่านทาง SQL หรือไม่? ขอบคุณมาก ๆ

1
ปลั๊กอิน - สร้างหน้าโดยไม่ต้องปรากฏในเมนูด้านข้าง
ขณะนี้ฉันใช้ add_submenu_page เพื่อเพิ่มหน้าสำหรับปลั๊กอินของฉัน อย่างไรก็ตามฉันต้องการสร้างหน้าเว็บที่ไม่ปรากฏในเมนูผู้ดูแลระบบเป็นไปได้หรือไม่?

1
การดำเนินการเป็นกลุ่มได้รับการจัดการในคลาสตารางรายการแบบกำหนดเองได้อย่างไร
ฉันกำลังทำงานบนตารางข้อมูลที่กำหนดเองเพื่อแสดงในแผงควบคุม WordPress ตารางเติมข้อมูลจากตารางฐานข้อมูลที่ฉันสร้างขึ้นในปลั๊กอิน ฉันใช้ตัวอย่างตาราง WordPress Custom List ที่ให้ไว้สำหรับคำถามการเข้ารหัสของฉันส่วนใหญ่ในพื้นที่นี้ แต่ตัวอย่างไม่มีอะไรสำหรับการจัดการการกระทำเป็นกลุ่ม นี่คือลิงค์สำหรับตัวอย่างเอกสาร: http://wordpress.org/extend/plugins/custom-list-table-example/ สำหรับการประมวลผลการดำเนินการเป็นกลุ่มตัวอย่างให้สิ่งนี้เท่านั้น: function process_bulk_action() { //Detect when a bulk action is being triggered... if( 'delete'===$this->current_action() ) { wp_die('Items deleted!'); } } ฉันต้องการทราบวิธีดึงรายการที่เลือกไว้สำหรับการดำเนินการเพื่อให้ฉันสามารถลบหรือแก้ไขรายการฐานข้อมูลได้

2
ข้อความที่อัปเดตการตั้งค่า API จะไม่แสดงหากหน้าผู้ดูแลระบบที่กำหนดเองไม่ได้เชื่อมต่อกับ add_options_page ()
รับการเล่นด้วยการตั้งค่า API และพบว่าข้อความ (สำหรับความสำเร็จหรือข้อผิดพลาด) จะปรากฏเฉพาะเมื่อหน้าการตั้งค่าถูกเชื่อมต่อกับเมนู WordPress ผ่านทาง add_options_page () สิ่งอื่นใดจะไม่ทำงานเช่น add_dashboard_page () ต้องการทราบว่านี่เป็นเรื่องจริงหรือไม่? รหัสตัวอย่างที่ฉันลองใช้คือคำตอบที่มีคลาส "RegisteredSettingsTest" ที่ตำแหน่งขอ hook register_settings สำหรับ Settings API เมื่อต้องการอัปเดตตัวเลือกนอก API การตั้งค่า

5
อัปเดตปลั๊กอินจาก API ส่วนบุคคล
ฉันกำลังพัฒนาปลั๊กอิน wordpress ในขณะนี้ซึ่งฉันไม่ต้องการในที่เก็บปลั๊กอินของ Wordpress อย่างไรก็ตามฉันยังต้องการผลักดันการอัปเดตลูกค้าของฉันจากที่เก็บ API ของฉันเอง ฉันเคยอ่านมาบ้างเกี่ยวกับเรื่องนี้และสิ่งหนึ่งที่ดูเหมือนจะเป็นเรื่องเกี่ยวกับpre_set_site_transient_update_pluginsตัวกรอง แต่ฉันไม่สามารถหาข้อมูลเกี่ยวกับเรื่องนี้ได้มากนัก ฉันได้ลองใช้บทช่วยสอนนี้ ( http://konstruktors.com/blog/wordpress/2538-automatic-updates-for-plugins-and-themes-hosted-outside-wordpress-extend/ ) ซึ่งฉันไม่สามารถทำงานได้ ฉันสามารถบอกได้จากความคิดเห็นที่คนอื่นสามารถใช้งานจริงกับสิ่งที่จะต้องเป็นเกือบรุ่นปัจจุบันของ WP (ตอบสนองล่าสุด 22 เมษายน) ฉันลองติดตั้งปลั๊กอินจากไซต์และวางโฟลเดอร์ API ในโดเมนที่สอง แต่การแจ้งเตือนการอัปเดตที่ฉันมักจะได้รับเมื่อมีการอัปเดตพร้อมใช้งานไม่แสดงที่ใดเลย ฉันไม่แน่ใจว่าเป็นไปได้หรือไม่ที่จะมีปลั๊กอินที่กำหนดเองให้เรียกใช้การอัปเดตอัตโนมัติจากที่เก็บอื่น ๆ ดังนั้นฉันอยากจะฟังว่ามีใครบ้างที่นี่มีประสบการณ์กับสิ่งนี้หรือไม่? วิธีแก้ปัญหาในการสอนดูเหมือนจะเป็นวิธีแก้ปัญหาที่ง่าย - ฉันสงสัยว่ามันเป็นไปได้ไหมที่จะทำมันด้วยวิธีที่ก้าวหน้ากว่านี้? ความช่วยเหลือใด ๆ ที่ได้รับการอัปเดตอัตโนมัติจากที่เก็บของฉันเองนั้นทำงานได้ดีมาก! (PS: ฉันใช้ WP เวอร์ชั่น 3.1.3)

4
จัดการกับการส่งออก HTML ขนาดใหญ่ผ่านรหัสปลั๊กอิน
ฉันเพิ่งเขียนปลั๊กอิน WP แรกของฉันที่เพิ่มรหัสย่อสำหรับการฝังแกลเลอรี่ภาพ jquery ที่กำหนดเองลงในโพสต์ ส่วนใหญ่จะทิ้ง HTML ที่ดีไว้ในโพสต์พร้อมด้วยจาวาสคริปต์ที่จำเป็นสำหรับการเริ่มต้น อย่างไรก็ตามฉันต้องสร้างผลลัพธ์ HTML ขั้นตอนเป็นสตริงใน PHP แท็กซุปชนิดนี้ทำให้ฉันถั่วเสมอและฉันคุ้นเคยกับการทำงานกับกรอบ MVC ที่ให้สิ่งต่าง ๆ เช่นฟังก์ชั่นผู้ช่วยและแม่แบบบางส่วนสำหรับการสร้าง HTML วิธีการทั่วไปสำหรับผู้เขียนปลั๊กอินที่ต้องการจัดการ HTML หรือ JS ที่สร้างขึ้นแบบไดนามิกจำนวนมากคืออะไร?

1
เปลี่ยนภาษาของผู้ดูแลระบบตามผู้ใช้ (ในเว็บไซต์เดียว)
ฉันพยายามสร้างปลั๊กอินขนาดเล็กเพื่อติดตั้งในบางเว็บไซต์ของลูกค้าชาวเยอรมัน ฉันสามารถใช้ WordPress เป็นภาษาเยอรมัน แต่จะง่ายกว่าถ้าเป็นภาษาอังกฤษ มีปลั๊กอินที่จัดการสิ่งนี้ ( WP Native Dashboard ) และแม้ว่ามันจะเป็นสิ่งที่มหัศจรรย์มันมีน้ำหนักมากเกินไปสำหรับสิ่งที่ฉันต้องการ ลูกค้าไม่ต้องการสิ่งนี้ฉันทำ พยายามที่จะเลียนแบบมันจะไม่มีประโยชน์ ... $current_userมันเก็บเป็นตัวเลือกฐานข้อมูลเพื่อการตรวจสอบการแลกเปลี่ยนแทน แต่ฉันไม่ได้รับตรรกะสำหรับสิ่งนี้ในการทำงาน ดังนั้นฉันจึงพยายามที่จะปรับแก้ปัญหานี้ให้โดย toschoแต่ดูเหมือนว่าฉันไม่ได้ทำ hooks ในจุดที่ถูกต้องของกระบวนการ WordPress คำถามคือ: บิตใดหายไป(หรือฉันล้อเล่น)ในรหัสต่อไปนี้? <?php /* Plugin Name: Set User Locale Plugin URI: https://wordpress.stackexchange.com/q/53326/12615 Description: changes the admin language according to user_login Version: 1.0 Author: wordpress-stackexchange */ class Wpse53326_ChangeLocaleOnDemand { …

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