WordPress

คำถาม & คำตอบสำหรับนักพัฒนา WordPress และผู้ดูแลระบบ

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

3
ทำให้หน้า WooCommerce สามารถเข้าถึงได้สำหรับผู้ใช้ที่เข้าสู่ระบบเท่านั้น
ฉันมีเว็บไซต์ที่ใช้ WordPress และอีคอมเมิร์ซโดยใช้ WooCommerce ฉันต้องการให้ร้านค้าของฉัน (และหน้าทั้งหมดของมัน) ถูกมองเห็นโดยผู้ใช้ที่ล็อกอินเท่านั้น ผ่านปลั๊กอินตัวจัดการการเข้าถึงของผู้ใช้ฉันได้ปฏิเสธการเข้าถึงหน้าร้าน แต่ด้วยการเชื่อมโยงโดยตรงไปยังผลิตภัณฑ์ ฯลฯ เราสามารถเข้าถึงหน้านั้นได้อย่างไรก็ตามแม้ว่าผู้ใช้จะไม่ได้เข้าสู่ระบบ ฉันจะเปลี่ยนเส้นทางผู้ใช้ที่ไม่ได้เข้าสู่ระบบไปยังหน้าอื่นได้อย่างไรหากพวกเขาพยายามเข้าถึงหน้า WooCommerce

1
เนื้อหาที่อัปโหลดสื่อที่กำหนดเองสำหรับการแทรกรหัสย่อโพสต์ที่กำหนดเอง
ฉันกำลังทำงานกับปลั๊กอินที่สร้างโพสต์ที่กำหนดเองประเภท "ผลงาน" พร้อมกับรหัสย่อเพื่อแทรกในหน้าหรือโพสต์ใด ๆ รหัสย่อคือ: [portfolio option1=“1” option2=“0” option3=“1” ] WP_queryและมันทำงานได้ดีก็แสดงให้เห็นโพสต์ที่กำหนดเองทั้งหมดผ่านทางที่กำหนดเอง แต่ฉันต้องการที่จะไปต่อ สร้างปุ่มที่กำหนดเองถัดจากupload mediaเพื่อสร้างเอาต์พุตรหัสย่อพอร์ตโฟลิโอซึ่งผู้ใช้สามารถเลือกโพสต์ที่จะรวมและกำหนดตัวเลือกทั้งหมด ดังนั้นผลลัพธ์จะเป็น:[portfolio option1=“1” option2=“0” option3=“1” ids=“12,311,432,443,” ] นี่คือรหัสสำหรับปุ่มที่ฉันพบใน media.php ของ wp: add_action( 'media_buttons', array( $this, 'media_buttons' ) ); public function media_buttons($editor_id = 'content') { $post = get_post(); if ( ! $post && ! empty( $GLOBALS['post_ID'] ) ) …

1
ลงทะเบียนสคริปต์เพื่อเข้าคิวทั้งในผู้ดูแลระบบและส่วนหน้า
ตามที่ฉันเข้าใจสคริปต์ผู้ดูแลระบบควรลงทะเบียนและจัดคิวผ่านadmin_enqueue_scriptsเบ็ดและสคริปต์อื่น ๆ ทั้งหมดwp_enqueue_scriptsดังนั้นฉันจึงได้ตั้งค่าฟังก์ชั่นต่อไปนี้เพื่อลงทะเบียนและจัดคิวสคริปต์ทั้งหมดของฉันอย่างชัดเจนและเป็นระเบียบ คำถามของฉันคือถ้าฉันต้องการสคริปต์บางอย่าง (เช่น. jquery ตรวจสอบปลั๊กอิน) ทั้งในผู้ดูแลระบบและส่วนหน้า? วิธีการที่แนะนำสำหรับการลงทะเบียนและการลงทะเบียนสคริปต์ในกรณีนี้คืออะไร? ลงทะเบียนสองครั้งด้วย $ handle ที่แตกต่างกันหรือลงทะเบียนผ่านwp_enqueue_scriptsเท่านั้นและหากเป็นเช่นนั้นจะไม่มีความเสี่ยงที่จะไม่ถูกเรียกเมื่อจำเป็น? (ฉันหมายความว่าทำไมจะadmin_enqueue_scriptsมีอยู่หากไม่ทำให้สคริปต์เหล่านั้นพร้อมใช้งานก่อนหน้านี้ ฉันอยากจะขอบคุณคนที่อธิบายเรื่องนี้ให้ฉันเข้าใจอย่างถ่องแท้ถึงความแตกต่างของสคริปต์ในบท wp ขอบคุณ รหัสของฉัน: // REGISTER ALL NON-ADMIN SCRIPTS add_action( 'wp_enqueue_scripts', 'register_all_non_admin_scripts' ); function register_all_non_admin_scripts() { wp_register_script( ... ); wp_register_script( ... ); } // ENQUEUE NON-ADMIN SCRIPTS CONDITIONALLY add_action( 'wp_enqueue_scripts', 'enqueue_scripts_where_required' ); function enqueue_scripts_where_required() { // …

1
วิธีใช้ป๊อปอัป“ เพิ่มลิงก์” สำหรับวิดเจ็ต WordPress
ในโปรแกรมแก้ไขแบบ WYSIWYG ของ WordPress คุณจะได้รับป๊อปอัปหากคุณต้องการเพิ่มลิงค์สำหรับข้อความ มีความเป็นไปได้ในการเข้าถึงฟังก์ชั่นนี้หรือไม่? เนื่องจากฉันต้องการใช้ป๊อปอัปนี้สำหรับวิดเจ็ต WordPress ที่ฉันสร้างขึ้นเพื่อให้คุณสามารถเพิ่มลิงก์ไปยังวิดเจ็ตหากคุณกำหนดค่าไว้ในแบ็กเอนด์ นี่คือภาพหน้าจอของสิ่งที่ฉันหมายถึง:

1
เพิ่มฟังก์ชั่นการกรองในกล่องสื่อ modal
ฉันพยายามที่จะขยายคำกริยาสื่อ แต่ฉันไม่สามารถ 'ค้นหาเอกสาร / แบบฝึกหัดเกี่ยวกับมันได้ ฉันไม่ใช่เจ้านายของกระดูกสันหลังเช่นกัน ;-) ฉันต้องการเพิ่มกล่องเลือกสำหรับแต่ละ taxonomy ที่แนบกับชนิดโพสต์สิ่งที่แนบ ในขณะนี้จะมีเพียงช่องเดียวที่เลือก ดังนั้นนี่คือสิ่งที่ฉันมาด้วย มันใช้งานได้ดียกเว้นว่ามันจะแทนที่แถบเครื่องมือเริ่มต้น รหัส /** * Extended Filters dropdown with taxonomy term selection values */ jQuery.each(mediaTaxonomies,function(key,label){ media.view.AttachmentFilters[key] = media.view.AttachmentFilters.extend({ className: key, createFilters: function() { var filters = {}; _.each( mediaTerms[key] || {}, function( term ) { var query = {}; …

1
วิธีเติมเงินลงทะเบียน WordPress พร้อมรายละเอียดโซเชียล
ฉันสร้างกระบวนการลงทะเบียนที่กำหนดเองใน WordPress ด้วยฟิลด์พิเศษมากมายเช่นชื่อนามสกุล ฯลฯ ฉันต้องการผสานรวมกับ Facebook / LinkedIn ดังนั้นชื่อนามสกุลอีเมลฟิลด์จะถูกเติมข้อมูลล่วงหน้าด้วย Facebook / LinkedIn แต่ถึงกระนั้นผู้ใช้จะต้องป้อนฟิลด์อื่น ๆ เพื่อสิ้นสุดการลงทะเบียน เป็นไปได้ไหมที่จะทำอะไรแบบนั้นหรือมีปลั๊กอินที่ทำเช่นนั้น?

2
วิธีการเลือกขนาดภาพตามค่าเริ่มต้นในการอัปโหลดสื่อ - WP v3.5
เปลือยกับฉัน ฉันต้องการให้มีการเลือกขนาดภาพที่กำหนดเองตามค่าเริ่มต้นในหน้าป๊อปอัปอัปโหลดสื่อ ใน Wordpress v3.4.2 และก่อนหน้านี้โค้ดที่สวยงามนี้ทำงานได้ดี: function my_insert_custom_image_sizes( $sizes ) { // get the custom image sizes global $_wp_additional_image_sizes; // if there are none, just return the built-in sizes if ( empty( $_wp_additional_image_sizes ) ) return $sizes; // add all the custom sizes to the built-in sizes foreach ( $_wp_additional_image_sizes …
12 php  functions  filters  media 

1
ลดเวลาหมดเวลาการล็อกอินของ WordPress
ฉันต้องการที่จะออกจากระบบผู้ใช้โดยอัตโนมัติเมื่อผู้ใช้ไม่ได้ใช้งานนานกว่า 10 นาทีนั่นหมายความว่าผู้ใช้เข้าสู่ระบบในเว็บไซต์และผู้ใช้ไม่ได้เรียกดูหน้าใด ๆ นานกว่า 10 นาทีเมื่อเขาเรียกดูหน้าใด ๆ หลังจาก 10 นาที ผู้ใช้ออกจากระบบและเปลี่ยนเส้นทางไปที่หน้าเข้าสู่ระบบโซลูชั่นใด? ขอขอบคุณล่วงหน้า
12 login  logout  session 

1
จะปิดการใช้งานการสร้างขนาดภาพเริ่มต้นสำหรับโพสต์แบบกำหนดเองบางประเภทได้อย่างไร
ฉันใช้ประเภทโพสต์ที่กำหนดเองโดยไม่ต้องใช้ 'รูปย่อ', 'กลาง' และ 'ใหญ่' ฉันต้องปิดการใช้งานขนาดนี้และสร้างฟังก์ชั่นหรือปลั๊กอินที่ฉันสามารถตั้งค่าขนาดภาพที่จำเป็นสำหรับการโพสต์ที่กำหนดเองแต่ละประเภท ขั้นตอนแรกของฉันคือการเชื่อมต่อของฟังก์ชั่น get_intermediate_image_sizes จาก wp-include / media.php ฉันได้เพิ่มรหัสนี้ลงใน functions.php แต่มันไม่ทำงาน :( add_filter('get_intermediate_image_sizes', 'get_intermediate_image_sizes_fixed'); function get_intermediate_image_sizes_fixed() { global $_wp_additional_image_sizes; //$image_sizes = array('thumbnail', 'medium', 'large'); // Standard sizes $image_sizes = array(); if ( isset( $_wp_additional_image_sizes ) && count( $_wp_additional_image_sizes ) ) $image_sizes = array_merge( $image_sizes, array_keys( $_wp_additional_image_sizes …

1
วิธีปรับขนาดรูปภาพ WordPress On-The-Fly แบบไดนามิก (ตัวเลือกฟิลด์ / ธีมที่กำหนดเอง)
ดังนั้น - ตามคำขอของลูกค้าฉันต้องการความสามารถในการปรับขนาดภาพไม่ใช่วิธี WordPress มาตรฐาน ... แต่จากภาพที่ดึงเข้ามาจากตัวเลือกชุดรูปแบบ ฉันไม่สามารถใช้พื้นที่ custom_header ได้เพียงเพราะจะมีสองหรือสาม (ฉันมีตัวเลือกบางอย่างเมื่ออัปโหลดภาพเพื่อให้ผู้ใช้เลือกว่าลิงก์ควรทำงานอย่างไร (หน้าโพสต์หมวดหมู่ไม่มีลิงก์ลิงก์ภายนอก) ฯลฯ )) ฉันใช้ตัวเลือกกรอบงานชุดรูปแบบที่ประสบความสำเร็จและฉันสามารถดึงภาพ src ได้ดีมันเป็นเรื่องของถ้าสิ่งนี้สามารถนำมาใช้ร่วมกับฟังก์ชั่น ฉันอยากจะไม่ไปตามเส้นทางที่มีเวลาและติดกับ WordPress APIs (ฉันรู้ว่ามันขัดแย้งกับสิ่งที่ฉันทำในตอนแรก ... ) ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก. ขอบคุณ!

6
Wordpress เพิ่ม“ & nbsp;” โดยอัตโนมัติหรือไม่
ฉันไม่แน่ใจว่า wordpress นั้นหรือ Tiny MCE กำลังทำอะไรอยู่ แต่เมื่อสลับไปมาระหว่าง HTML และ Visual Editor มันเพิ่ม และเพิ่มพิเศษทุกครั้งที่สลับไปมา ฉันไม่ได้มีการแบ่งบรรทัดในรหัสดูเหมือนว่าจะตัดสินใจที่ที่พวกเขาต้องการวางตามแท็กในรหัส html ของฉัน อะไรเป็นสาเหตุของปัญหานี้และฉันจะแก้ไขได้อย่างไร ฉันได้ลองแล้วในไฟล์ฟังก์ชั่นแม่แบบ: //disable auto p remove_filter ('the_content', 'wpautop'); remove_filter ('comment_text', 'wpautop'); // Remove auto formatting remove_filter('the_content', 'wptexturize'); remove_filter('comment_text', 'wptexturize'); remove_filter('the_title', 'wptexturize');
12 tinymce 

2
ทางเลือก MySQL: เซิร์ฟเวอร์ Percona และ MariaDB ทำงานได้ดีกับ WordPress และพวกเขาทำให้ WordPress ดีขึ้นหรือไม่
เมื่อเร็ว ๆ นี้ฉันได้อ่านเกี่ยวกับMariaDBและPercona Serverสองทางเลือกที่แข็งแกร่งสำหรับ MySQL ที่ได้รับความนิยมตั้งแต่ Oracle ซื้อ Sun เท่าที่ฉันรู้ทั้งคู่สามารถใช้กับ WordPress ได้ แต่ฉันอยากรู้ว่ามีใครใช้หรือไม่และถ้าหากพวกเขาช่วยให้บล็อกและเซิร์ฟเวอร์ของเราทำงานได้ดีกว่าพวกเขาด้วย MySQL
12 database  mysql 

5
วิธี จำกัด การดาวน์โหลดไฟล์แนบให้กับผู้ใช้ที่เฉพาะเจาะจง
ฉันมีกรณีการใช้งานที่เฉพาะเจาะจงซึ่งเว็บไซต์สร้างขึ้นสำหรับนักกฎหมายและลูกค้าของเขาแต่ละคนสามารถเข้าสู่ 'หน้า / พอร์ทัล' เฉพาะ (ประเภทโพสต์ที่กำหนดเอง) ของตัวเองโดยไม่สามารถเข้าถึง wp-admin เป็นต้น (ฉันสร้างทั้งหมด หน้าเข้าสู่ระบบ / ลงทะเบียน / แก้ไขโปรไฟล์ในส่วนหน้า) ในหน้านี้ / พอร์ทัลทนายจะฝากข้อความและไฟล์สำหรับลูกค้าที่จะดาวน์โหลดตอนนี้ในทางทฤษฎีพูดลูกค้าคนหนึ่งสามารถเดา (หรือถ้ามีความรู้เกี่ยวกับไฟล์ของลูกค้าอื่น) ชื่อไฟล์อื่น ๆ และดาวน์โหลดแล้วสร้างปัญหากับความเป็นส่วนตัว / ความปลอดภัย / วัสดุที่เป็นความลับ ฯลฯ ฉันกำลังมองหาไอเดีย / แนวคิดสำหรับวิธีแก้ปัญหาความคิดเริ่มต้นของฉันคือต้องมีลิงค์ดาวน์โหลดชี้ไปที่ download.php บางอย่างที่ส่งรหัสสิ่งที่แนบ, รหัสผู้ใช้, หน้า / พอร์ทัล ID และไม่ใช่และการประมวลผลขั้นสุดท้าย . คุณคิดอย่างไร? ฉันอยู่ในเส้นทางที่ถูกต้องหรือวิธีการนี้ไม่สมบูรณ์หรือไม่ ขอบคุณ!

1
วิธีกำหนดค่า WordPress ให้รองรับ 75,000 หน้า?
ฉันมีเว็บไซต์ขนาดใหญ่ที่ใช้ WordPress เรามี 75,000 หน้าในเว็บไซต์และมันทำงานได้ดีในส่วนหน้า ปัญหาคือถ้าทุกคนในทีมของเราแตะตัวแก้ไขหน้า (wp-admin / edit.php? post_type = หน้า) Apache จะกินหน่วยความจำทั้งหมดบนเซิร์ฟเวอร์ ฉันพยายามปิดการใช้งานปลั๊กอินทั้งหมด แต่ไม่ได้ผล ฉันยังลองดีบั๊กบนเซิร์ฟเวอร์ที่ใช้งานจริงของเราซึ่งมีกล่องขนาด 4GB ... มันยังกินหน่วยความจำทั้งหมดและเกิดความผิดพลาด ในการติดตั้งนี้เรามี 20,000 โพสต์ ไม่มีปัญหาในการโหลดสิ่งเหล่านั้นใน wp-admin บางทีเราควรย้ายหน้าทั้งหมดไปยังโพสต์ - ซึ่งจะทำให้เกิดปัญหากับโครงสร้างลิงก์ถาวร มีการตั้งค่าพิเศษหรือการกำหนดค่าที่ฉันขาดไปสำหรับไซต์ WP ขนาดใหญ่หรือไม่
12 pages  memory  scale 

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