WordPress

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

4
อย่าเผยแพร่โพสต์ประเภทโพสต์ที่กำหนดเองถ้าเขตข้อมูลเมตาไม่ถูกต้อง
ฉันมีประเภทโพสต์ที่กำหนดเอง (CPT) eventที่เรียกว่า ฉันมีเมตาบ็อกสำหรับประเภทที่มีหลายฟิลด์ ฉันต้องการตรวจสอบความถูกต้องของฟิลด์ก่อนที่จะเผยแพร่กิจกรรม ตัวอย่างเช่นหากไม่ระบุวันที่ของเหตุการณ์ฉันต้องการแสดงข้อความแสดงข้อผิดพลาดให้บันทึกเหตุการณ์สำหรับการแก้ไขในอนาคต แต่ป้องกันเหตุการณ์นั้นไม่ให้เผยแพร่ สถานะ 'รอดำเนินการ' สำหรับการโพสต์ CPT โดยไม่มีข้อมูลที่จำเป็นทั้งหมดเป็นวิธีที่เหมาะสมในการจัดการหรือไม่ มีวิธีปฏิบัติที่ดีที่สุดในการตรวจสอบความถูกต้องของฟิลด์ CPT และป้องกันไม่ให้โพสต์เผยแพร่ แต่บันทึกไว้เพื่อการแก้ไขในอนาคต ขอบคุณมาก Dasha

4
คุณคิดอย่างไรเกี่ยวกับตัวเลือกปลั๊กอิน / ชุดรูปแบบที่ออกแบบเอง UIs
คุณอาจสังเกตเห็นแนวโน้มของการออกแบบตัวเลือกปลั๊กอิน / ชุดรูปแบบ UIs โดยเฉพาะอย่างยิ่งในเชิงพาณิชย์ (บน CodeCanyon เช่น - กล่องที่กำหนดเอง, แท็บ, หีบเพลง ฯลฯ ) ฉันเองเชื่อว่า UI ควรรวมเป็นหนึ่งตั้งแต่แรกและมันง่ายมากใน WP เพื่อให้บรรลุโดยใช้โครงสร้าง HTML เริ่มต้นของคอร์ + CSS คลาส => ตามคู่มือการจัดแต่งทรงผม อย่างไรก็ตามบางครั้งอาจไม่เพียงพอและนั่นเป็นสาเหตุที่ทำให้มีแนวโน้มดังกล่าว อีกเหตุผลหนึ่งอาจเป็น "การสร้างแบรนด์" หรือเพียงแค่ "ความเย็น" คุณคิดอย่างไรเกี่ยวกับเรื่องนี้? คุณชอบ UIs ที่ออกแบบเองหรือเป็นค่าเริ่มต้นและทำไม ป.ล. เหตุผลหลักที่ฉันถามเรื่องนี้ก็เพราะวันนี้ฉันเริ่มต้นด้วยการพัฒนาปลั๊กอินและฉันพยายามที่จะตัดสินใจเส้นทางที่จะเลือกนี้

2
Wordpress Database Slow - ฉันควรเปลี่ยนมาใช้ InnoDB หรือไม่
ฉันมีเว็บไซต์ WordPress ที่มีโพสต์มากกว่า 10k และสิ่งต่างๆเริ่มช้าลงทุกครั้งที่ฉันเพิ่มและแก้ไขโพสต์ หน้าโหลดดีและรวดเร็วสำหรับผู้ใช้พร้อมกับรายการโพสต์ของผู้ดูแลระบบ แต่เมื่อมีการเขียนหรืออัปเดตเซิร์ฟเวอร์จะไปที่ CPU 100% และใช้เวลานาน (บางครั้งอาจนานกว่า 60 วินาทีของ PHP) ฉันคิดว่านี่น่าจะเกี่ยวข้องกับการล็อกระดับตารางของ MyISAM และฉันคิดว่าจะเปลี่ยนเป็น InnoDB ความหมายของการทำเช่นนี้มีอะไรบ้าง สถิติบางอย่าง: select - per hour ~22k update - per hour ~7.6k set option - per hour ~7k ฉันรู้ว่ามีการเพิ่มประสิทธิภาพอื่น ๆ อีกมากมายที่ฉันสามารถทำได้ แต่ความรู้สึกของฉันคือสิ่งนี้อาจมีผลกระทบมากที่สุด ขอบคุณ แก้ไข : ฉันได้พบหนึ่งในปัญหาสำคัญที่ทำให้เกิดความเชื่องช้ามันคือ YARPP (ยังมีปลั๊กอินโพสต์อื่นที่เกี่ยวข้อง) ที่สร้าง "ความสัมพันธ์" ใหม่ทุกครั้งและดูเหมือนว่าจะเกิดจากแท็ก 2k …

5
วิธีโหลด parent_theme functions.php ก่อน child_theme
ฉันพบปัญหาที่ฉันต้องโหลดfunctions.phpไฟล์ของธีมหลักก่อนfunctions.phpโหลดไฟล์ของธีมลูก จำเป็นสำหรับขั้นตอนการตั้งค่าและเริ่มต้น ผมมองไปที่ตะขอภายใน /wp_core_root/wp-settings.php (ชื่อ: do_action('setup_theme');) ปัญหาคือว่าฉันไม่ทราบวิธีการขอมีเพราะไฟล์แรกที่ฉันได้รับคือชุดรูปแบบของเด็กfunctions.phpดังนั้นadd_action( 'setup_theme', 'my_init_function' );จะไม่ทำงาน แก้ไข: ก) ฉันรู้ว่าปลั๊กอินโหลดเร็วกว่าธีมและสามารถเข้าถึงได้แม้กระทั่งคิวรีเริ่มต้น แต่ฉันไม่ต้องการพึ่งพาปลั๊กอิน b) นี่คือรหัส (ย่อ) จากไฟล์ wp-settings.php // happens a lot earlier: do_action( 'plugins_loaded' ); // localize stuff happening here do_action( 'setup_theme' ); // Load the functions for the active theme, for both parent and child theme if …
12 functions 

10
จะเปลี่ยนชื่อโดเมนในฐานข้อมูล Wordpress ได้อย่างไร
ฉันมีฐานข้อมูล Wordpress ซึ่งติดตั้งในสภาพแวดล้อมการพัฒนา ... ดังนั้นการอ้างอิงทั้งหมดไปยังเว็บไซต์นั้นมีที่อยู่ IP คงที่ (พูด 192.168.16.2) ตอนนี้ฉันต้องย้ายฐานข้อมูลนั้นไปยังการติดตั้ง Wordpress ใหม่บนโฮสติ้ง ปัญหาคือว่าการถ่ายโอนข้อมูล SQL มีการอ้างอิงจำนวนมากไปยังที่อยู่ IP และฉันต้องแทนที่ด้วย: my_domain.com ฉันสามารถใช้sedหรือคำสั่งอื่น ๆ เพื่อเปลี่ยนจากบรรทัดคำสั่งปัญหาคือมีข้อมูลการกำหนดค่าจำนวนมากที่ใช้ JSON แล้วอะไรล่ะ อย่างที่คุณทราบอาร์เรย์ของ JSON ใช้สิ่งต่าง ๆ เช่น: s:4:เพื่อทราบจำนวนตัวอักษรที่องค์ประกอบมีและถ้าฉันเพิ่งแทนที่ IP ด้วยชื่อโดเมนไฟล์การกำหนดค่าจะเสียหาย ฉันใช้แอพสำหรับ Windows เมื่อหลายปีก่อนที่อนุญาตให้เปลี่ยนค่าในฐานข้อมูลและดูแลอาร์เรย์ของ JSON น่าเสียดายที่ฉันลืมชื่อแอพ ... ดังนั้นคำถามคือคุณรู้จักแอพใดบ้างที่อนุญาตให้ฉันทำสิ่งที่ฉันต้องการ
12 mysql  migration 

4
สิทธิ์การใช้งาน GPL มีความหมายอะไรกับธีม WordPress ของฉัน
วิธีใส่แบบนี้: ฉันได้สร้างธีม WordPress สำหรับตัวเองซึ่งประกอบด้วยสิ่งต่อไปนี้: รหัส PHP - GPL v2 ได้รับสิทธิ์การใช้งานเช่น WordPress ไฟล์ CSS - สงวนลิขสิทธิ์ ไฟล์ JS - สงวนลิขสิทธิ์ ไฟล์รูปภาพที่จำเป็นสำหรับชุดรูปแบบ - สงวนลิขสิทธิ์ เท่าที่ฉันเข้าใจฉันสามารถลิขสิทธิ์ไฟล์ PHP ที่ไม่ได้อยู่ในธีมดังนั้นคำถามของฉันคือ: รูปแบบสิทธิการใช้งานนี้ (สำหรับกลุ่มไฟล์) ละเมิดใบอนุญาต WordPress หรือไม่ ฉันต้องเผยแพร่โค้ด PHP ของธีมเพื่อให้ทุกคนใช้ได้หรือไม่ ถ้าฉันจะสร้างเว็บไซต์ที่ขับเคลื่อนด้วย WordPress ด้วยธีมของฉัน (ด้วยสิทธิ์ใช้งานเดียวกันกับข้างบน) สำหรับคนอื่น (ที่จ่ายค่าบริการ) ฉันต้องเผยแพร่โค้ด PHP ของธีมเพื่อให้ทุกคนสามารถใช้ได้หรือไม่ ผู้ซื้อหรือสิ่งอื่นใด
12 themes  licensing 

4
ฉันได้รับอนุญาตให้ใช้ลิขสิทธิ์ธีม Wordpress ของฉันภายใต้ aGPL หรือไม่
ฉันสนใจในการสนทนาเมื่อเร็ว ๆ นี้เกี่ยวกับว่าธีม WordPress ต้องได้รับอนุญาตภายใต้ GPL หรือไม่ว่าพวกเขาจะสามารถปิดแหล่งที่มา วิดีโอที่สามารถเข้าถึงได้จากMattsบล็อกและการอภิปรายที่ชื่นชอบเกี่ยวกับการเป็นบล็อกโพสต์เดฟ Winers คำถามของฉันคือ - ฉันอนุญาตให้ใช้ชุดรูปแบบของฉันภายใต้aGPL ได้หรือไม่ หรือนี่คือเหตุผลเดียวกับที่ฉันต้องการใช้ไลเซนส์แบบปิดแหล่งที่มา?
12 themes  licensing 

1
วิธีการปิดการใช้งานการป้องกันข้อผิดพลาดร้ายแรง (WSOD)?
การจัดการข้อผิดพลาดที่ร้ายแรงได้รับการแนะนำใน WordPress 5.1 และ 5.2 บางครั้งเรียกว่าการป้องกันหน้าจอสีขาวแห่งความตาย (WSOD) เมื่อทำงานกับการติดตั้ง dev / local บางครั้งเราต้องการแบ่งไซต์ตามต้องการและหลีกเลี่ยงกระบวนการกู้คืนอีเมลสำหรับไซต์เมื่อทำงานภายในจุดปลายที่ได้รับการป้องกัน (ดูis_protected_endpoint()): ไซต์กำลังประสบปัญหาทางเทคนิค โปรดตรวจสอบกล่องจดหมายอีเมลของผู้ดูแลระบบไซต์ของคุณ เราจะปิดการจัดการข้อผิดพลาดร้ายแรงได้อย่างไร
12 errors 

4
ฉันควรปิดการใช้งาน WP_CRON และจะทริกเกอร์ wp-cron.php จากเซิร์ฟเวอร์ทุก ๆ สองสามนาทีหรือไม่
ดูเหมือนว่า WordPress จะใช้ WP CRON ในการโหลดหน้าเว็บทุกครั้งโดยไม่จำเป็น ฉันกำลังคิดแทนที่จะให้มันทำงานทุกครั้งทำไมไม่เพียงกำหนดเวลาให้ทำงานทุก ๆ 5 นาทีผ่านเซิร์ฟเวอร์ ฉันสามารถเรียก wp-cron.php ทุก ๆ ห้านาทีและบรรลุผลลัพธ์ที่ต้องการได้หรือไม่ มีข้อเสียอะไรหรือไม่?
12 wp-cron 

1
The_post_thumbnail ไม่มี srcset หรือไม่
WordPress 4.4 เพิ่มรูปภาพหลายขนาดด้วยsrcsetเมื่อใช้the_post_thumbnailฟังก์ชัน เป็นไปได้หรือไม่ที่จะได้ขนาดภาพเดียวโดยไม่มี srcset? ฉันเข้าใจว่าเป็นไปได้ที่จะเพิ่มตัวกรองเพื่อปิดการใช้งานsrcsetจากภาพทั้งหมด แต่ฉันต้องการที่จะปิดการใช้งานsrcsetเฉพาะเมื่อเรียกขนาดภาพขนาดย่อที่เฉพาะเจาะจง (ตัวอย่างเช่นเมื่อโทรขนาดภาพเต็มเท่านั้น)

4
เหตุใดฉันจึงควรใช้ esc_url
สิ่งนี้ทำให้การเข้ารหัสของฉันเป็นเรื่องยาก Wordpress codex ให้เหตุผลในการใช้ esc_url โดยพูดถึงความปลอดภัยอย่างชัดเจน แต่มันคุ้มค่ากับปัญหาหรือไม่ ตัวอย่างเช่นประโยชน์ด้านความปลอดภัยที่สำคัญและเป็นประโยชน์ในเชิงปฏิบัติโดยใช้คืออะไร <?php echo esc_url( home_url( '/' ) ); ?> แทน <?php echo home_url() ?> PS: ฉันไม่ได้พูดเกี่ยวกับการพัฒนาชุดรูปแบบ แต่เกี่ยวกับเว็บไซต์เฉพาะ
12 security 

6
วิธีการตรวจสอบว่ามีผู้ใช้อยู่ด้วยรหัสที่กำหนด
มีวิธีใดบ้างในการตรวจสอบว่ามี ID ผู้ใช้หรือไม่ ฉันต้องการสร้างฟังก์ชั่นที่คล้ายกับusername_exists()แต่จะส่งกลับหากมี ID อยู่หรือไม่
12 functions  users 


1
Woocommerce - เทมเพลตเฉพาะสำหรับหมวดหมู่ผลิตภัณฑ์หรือไม่ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ WordPress Development Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ฉันต้องการสร้างเทมเพลตเฉพาะสำหรับหมวดหมู่เฉพาะ (ไม่ใช่สำหรับผลิตภัณฑ์เดียว) เป็นไปได้และจะทำอย่างไร ขอบคุณ
12 plugins 

1
ประสิทธิภาพด้วย autoload และตารางตัวเลือก
ฉันกำลังเล่นกับautoloadคอลัมน์ของoptionsตาราง ฉันไม่พบข้อมูลมากนักเกี่ยวกับวิธีใช้ค่าที่โหลดอัตโนมัติ ฉันพยายามprint_r($GLOBALS)และเห็นว่าตัวเลือก autoloaded $GLOBALS['wp_object_cache']->cache['options']['alloptions']จะถูกเก็บไว้ใน มีวิธีอื่นในการเข้าถึงตัวแปรเหล่านั้นหรือไม่ สมมติว่าฉันต้องเข้าถึงตัวเลือกmy_optionซึ่งตั้งค่าเป็น autoload หลายครั้งในเทมเพลตที่แตกต่างกัน (เช่นในheader.phpครั้งเดียวครั้งเดียวfooter.php) วิธีใดที่แนะนำ เป็นไรไหมที่ฉันจะเรียกคืนจาก$GLOBALSอาเรย์ (เนื่องจากมีค่าอยู่ที่นี่แล้ว) ฉันต้องใช้get_option('my_option')ครั้งเดียวและทำให้ตัวแปรเป็นโกลบอลอีกครั้ง ใช้get_option('my_option')แต่ละครั้ง (ซึ่งฉันไม่เห็นจุดทำ) อื่น ๆ อีก
12 options 

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