WordPress

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

2
วิธีเพิ่ม crossorigin และ integrity ใน wp_register_style? (ตัวอักษรยอดเยี่ยม 5)
ฉันกำลังอัปเกรด Font Awesome 4 เป็นเวอร์ชัน 5 ซึ่งแนะนำทั้งคุณสมบัติที่สมบูรณ์และแอตทริบิวต์ทางเลือกข้ามสู่<link rel="stylesheet">มาร์กอัพ ขณะนี้ฉันกำลังใช้: wp_register_style('FontAwesome', 'https://example.com/font-awesome.min.css', array(), null, 'all' ); wp_enqueue_style('FontAwesome'); ซึ่งแสดงผลเป็น: <link rel="stylesheet" id="FontAwesome-css" href="https://example.com/font-awesome.min.css" type="text/css" media="all" /> ด้วยตัวอักษรที่น่ากลัว 5 มันแนะนำสองคุณลักษณะใหม่และค่า ( integrityและcrossorigin) เช่น: <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU" crossorigin="anonymous"> ดังนั้นผมจึงต้องไปหาวิธีการที่ฉันสามารถเพิ่มทั้งความสมบูรณ์และ crossorigin เพื่อ wp_register_style ผมได้พยายาม แต่ความพยายามของฉันที่จะใช้งานwp_style_add_dataได้ล้มเหลวก็จะดูเหมือนว่าวิธีนี้สนับสนุนเฉพาะconditional, rtlและsuffix, และalttitle

7
WP CLI“ ข้อผิดพลาดในการสร้างการเชื่อมต่อฐานข้อมูล” ใน localhost (MAMP)
ฉันได้รับข้อผิดพลาดนี้เมื่อฉันพยายามสร้างบางสิ่งด้วย WP CLI: Error establishing a database connection. This either means that the username and password information in your `wp-config.php` file is incorrect or we can’t contact the database server at `localhost`. This could mean your host’s database server is down. แต่ฉันสามารถเปิดไซต์ด้วยลิงค์: http: // localhost: 8888 / projectname ความคิดใด ๆ
13 wp-cli 

2
วิธีแสดงฟิลด์ที่กำหนดเองในคำสั่งซื้อของ woocommerce ในแผงการดูแลระบบ
ขณะนี้ฉันเพิ่มฟิลด์การเรียกเก็บเงินที่กำหนดเองใน woocommerce โดย function custom_override_checkout_fields( $fields ) { $fields['billing']['billing_phone_new'] = array( 'label' => __('Phone 2', 'woocommerce'), 'placeholder' => _x('Phone 2', 'placeholder', 'woocommerce'), 'required' => false, 'class' => array('form-row-wide'), 'clear' => true ); return $fields; } add_filter('woocommerce_checkout_fields','custom_override_checkout_fields'); ฉันต้องการแก้ไขค่าฟิลด์นี้ในด้านผู้ดูแลระบบ ขณะนี้ฉันสามารถแก้ไขค่าอื่น ๆ ทั้งหมดในที่อยู่สำหรับการเรียกเก็บเงินได้ แต่ค่านี้ไม่ปรากฏในส่วนผู้ดูแลระบบ ฉันใช้รหัสต่อไปนี้เพื่อดูค่าในส่วนผู้ดูแลระบบเท่านั้น function order_phone_backend($order){ echo "<p><strong>Billing phone 2:</strong> " . …

6
ลบตารางจากฐานข้อมูลเมื่อลบปลั๊กอิน
ฉันสร้างปลั๊กอินและต้องการเพิ่มฟังก์ชั่นเพื่อลบตารางของฉันออกจากฐานข้อมูลเมื่อผู้ใช้ลบปลั๊กอินของฉัน ฉันสร้างฟังก์ชันที่ลบตารางออกจากฐานข้อมูลเมื่อผู้ใช้ปิดการใช้งานปลั๊กอินของฉัน แต่ฉันไม่ต้องการ นี่คือรหัส: // Delete table when deactivate function my_plugin_remove_database() { global $wpdb; $table_name = "NestoNovo"; $sql = "DROP TABLE IF EXISTS $table_name;"; $wpdb->query($sql); delete_option("my_plugin_db_version"); } register_deactivation_hook( __FILE__, 'my_plugin_remove_database' ); อย่างที่คุณเห็นฟังก์ชั่นนี้จะลบตารางเมื่อปลั๊กอินถูกปิดการใช้งาน แต่ฉันต้องทำอย่างนั้นเมื่อปลั๊กอินถูกลบ

3
จะรวมไฟล์โดยใช้ get_template_part () ในปลั๊กอินได้อย่างไร?
คำถามง่ายๆอาจเป็นไปได้ แต่ฉันกำลังดิ้นรน ในการพัฒนาชุดรูปแบบฉันทำงานกับget_template_part()หลายครั้งและฉันเข้าใจพื้นฐานของมัน แต่เมื่อฉันพัฒนาปลั๊กอินฉันสงสัยว่ามันใช้เพื่อแสดงข้อผิดพลาด: แจ้งให้ทราบล่วงหน้า: การใช้ STYLESHEETPATH ​​คงไม่ได้กำหนด - สันนิษฐานว่า 'STYLESHEETPATH' ใน...\wp-includes\template.phpบรรทัด 407 และ ประกาศ: ใช้ค่าคงที่ TEMPLATEPATH - สันนิษฐานว่า 'TEMPLATEPATH' ใน...\wp-includes\template.phpบรรทัด 410 Googling ปัญหาพบว่ามีการแก้ไขที่รองรับ: ใช้get_template_part()เป็นปลั๊กอิน - การสนับสนุน WordPress แต่นั่นก็เป็นวิธีแก้ปัญหาที่ยิ่งใหญ่ - ฉันสงสัยมัน ฉันคิดว่าไม่ควรซับซ้อนมาก ฉันตรวจสอบคำตอบ WPSEนี้และพบบรรทัดของรหัสนี้: if ( '' === locate_template( 'loop-mycustomposttype.php', true, false ) ) include( 'loop-mycustomposttype.php' ); ที่ไหนมีinclude()ฟังก์ชั่นPHP ตามความรู้ WordPress …

1
ACF เป็นกับดักน้ำผึ้งหรือไม่? [ปิด]
ปิด คำถามนี้เป็นคำถามความคิดเห็นตาม ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้สามารถตอบข้อเท็จจริงและการอ้างอิงได้โดยแก้ไขโพสต์นี้ ปิดให้บริการใน2 ปีที่ผ่านมา ฉันเป็นผู้พัฒนาสแต็คเต็มองค์กรและเริ่มใช้ ACF ตอนแรกฉันคิดว่า ACF เป็นโซลูชั่นแบบครบวงจรสำหรับเว็บไซต์ แต่หลังจากค้นคว้าเพิ่มเติมเกี่ยวกับอนุกรมวิธานฉันกลัวว่าการใช้มันจะส่งผลให้ db ที่ไม่มีประสิทธิภาพมาก ตัวอย่างเช่น: หากฉันมีประเภทโพสต์ที่กำหนดเองของพนักงานและหน่วยงานนี้มีเพศตามการวิจัยของฉัน taxonomy พร้อมกล่องเมตาสำหรับการเลือกหนึ่งค่าเป็นตัวเลือกที่ดีกว่า สิ่งคือ ACF นำคุณไปสู่การปรับใช้ฟิลด์ที่กำหนดเองเท่านั้น ฉันควรใช้โปรแกรมเสริมอื่น ๆ ที่รองรับ taxonomy หรือไม่? ฉันควรใช้ปลั๊กอินเสริมสำหรับอนุกรมวิธานหรือไม่ ฉันควรกังวลเกี่ยวกับเรื่องนี้หรือไม่

3
ฉันจะรับรายการสคริปต์และสไตล์ที่จัดคิวทั้งหมดได้อย่างไร
ฉันกำลังสร้างปลั๊กอินและฉันต้องการรับรายการสคริปต์และ CSS ทั้งหมดที่ใช้โดยปลั๊กอินอื่น ๆ นี่คือฟังก์ชั่นของฉัน: function crunchify_print_scripts_styles() { $result = []; $result['scripts'] = []; $result['styles'] = []; // Print all loaded Scripts global $wp_scripts; foreach( $wp_scripts->queue as $script ) : $result['scripts'][] = $wp_scripts->registered[$script]->src . ";"; endforeach; // Print all loaded Styles (CSS) global $wp_styles; foreach( $wp_styles->queue as $style ) : …

1
หน้าการตั้งค่าโพสต์ประเภทกำหนดเองเลือกหน้าเพื่อแสดงการเก็บถาวร
ดังนั้นฉันจึงปฏิบัติตามคำตอบที่ได้รับการยอมรับของโพสต์นี้เป็นไปได้ที่จะเพิ่มการตั้งค่าอื่นในการตั้งค่า 'แสดงหน้าแรก' สำหรับประเภทโพสต์ที่กำหนดเอง แต่ไม่ได้ผลทั้งหมดต้องเปรียบเทียบกับคำตอบที่ยอมรับในโพสต์นี้ ไม่สามารถส่งออก do_settings_sections ไม่เข้าใจว่าทำไม ตอนนี้มันใช้งานได้จริงโดยใช้รหัสต่อไปนี้ //Add settings to menu add_action( 'admin_menu', 'events_options_add_page' ); function events_options_add_page() { // add_submenu_page('edit.php?post_type=events', 'Events Admin', 'Events Settings', 'edit_posts', basename(__FILE__), 'events_options_do_page'); add_submenu_page('edit.php?post_type=events', 'Events Admin', 'Events Settings', 'edit_posts', basename(__FILE__), 'events_options_do_page'); } ///wordpress/32689/possible-to-add-another-setting-to-front-page-displays-setting-for-custom-post //Fix Cap to allow editors to edit theme options function events_get_options_page_cap() { …

2
ฉันจะกำหนดค่า Docker สำหรับการพัฒนาและปรับใช้ธีมที่กำหนดเองได้อย่างไร
ต้องการปรับปรุงโพสต์นี้หรือไม่? ให้คำตอบโดยละเอียดสำหรับคำถามนี้รวมถึงการอ้างอิงและคำอธิบายว่าทำไมคำตอบของคุณถึงถูกต้อง คำตอบที่ไม่มีรายละเอียดเพียงพออาจแก้ไขหรือลบออกได้ ฉันเริ่มต้นกับนักเทียบท่าและฉันยังใหม่กับการพัฒนา WordPress อย่างมืออาชีพ ฉันต้องการตั้งค่าสภาพแวดล้อมการพัฒนา Docker (บน Mac ของฉัน) เพื่อให้ฉันสามารถพัฒนาธีม WordPress ที่กำหนดเองได้ สมมติว่าคุณเคยทำสิ่งนี้มาก่อนและใช้ Docker อยู่แล้วคุณตั้งค่านี้ได้อย่างไร Dockerfile และ docker-compose.yml ของคุณมีลักษณะอย่างไร ฉันแน่ใจว่าสิ่งนี้เคยทำมาก่อน ฉันจะไม่แปลกใจถ้ามีคำสั่งบรรทัดเดียวที่สามารถตั้งค่านี้ให้คุณได้ อัปเดต:ฉัน จำกัด หัวข้อนี้ให้แคบลงเป็นคำถามต่อไปนี้ ฉันจะกำหนดค่า Docker สำหรับการพัฒนาและปรับใช้ธีมที่กำหนดเองได้อย่างไร

3
แทนที่การแปลธีมหลักในธีมลูก
ฉันมีธีมหลักที่ใช้อย่างถูกต้องload_theme_textdomain()เพื่อโหลดสตริงที่แปลทั้งหมดในหลายภาษา จากนั้นฉันสร้างธีมลูกที่ใช้load_child_theme_textdomain()เพื่อให้ได้สิ่งเดียวกันสำหรับสตริง มีสตริงที่แปลแล้วสำหรับภาษาหนึ่ง ๆ ในธีมหลักที่ฉันต้องการแทนที่ / ลบล้างในธีมลูก ฉันรู้ว่าพวกเขาอยู่ในไฟล์เทมเพลตฉันสามารถแทนที่ไฟล์และเปลี่ยน textdomain สำหรับสตริงเหล่านั้นได้ แต่น่าเสียดายที่ไฟล์ที่ฉันพูดถึงนั้นถูกใช้ในหลาย ๆ ที่และในแดชบอร์ด (ดังนั้นภายในฟังก์ชันตัวกรอง / การกระทำ ) ดังนั้นคำถามของฉันคือ: มีวิธีการแทนที่สตริงที่แปลแล้วภายในธีมลูกโดยไม่ต้องแทนที่แม่แบบไฟล์หรือฟังก์ชั่นหรือไม่? ฉันไม่รู้ว่าอาจเพิ่มไฟล์parent-theme.moในโฟลเดอร์ภาษาของชุดรูปแบบลูกด้วยการแปลเฉพาะสตริงเหล่านั้นหรืออะไรทำนองนั้น

1
วิธีการเรียกใช้ฟังก์ชั่นการเปิดใช้งานเมื่อปลั๊กอินเปิดใช้งานเครือข่ายบนเว็บไซต์หลายไซต์
ฉันกำลังพยายามทำให้ปลั๊กอินหลายไซต์เข้ากันได้ ฉันใช้register_activation_hook()ฟังก์ชันเพื่อลงทะเบียนmy_activate()ฟังก์ชั่นของฉันให้ทำงานเมื่อเปิดใช้งานปลั๊กอิน วิธีนี้ใช้ได้ดีในการติดตั้งไซต์เดียว function my_activate() { // Do some things. } register_activation_hook( __FILE__, 'my_activate' ); ปัญหาคือmy_activate()ไม่ทำงานสำหรับแต่ละไซต์เมื่อปลั๊กอินของฉันคือ 'เปิดใช้งานเครือข่าย' นอกจากนี้มันจะไม่ทำงานเมื่อมีการสร้างเว็บไซต์ใหม่ในเครือข่าย ฉันจะทำให้รูทีนการเปิดใช้งานของฉันเป็น)ทำงานเมื่อปลั๊กอินของฉันเปิดใช้งานเครือข่ายสำหรับทุกไซต์ในเครือข่ายและb)ทำงานเมื่อมีการสร้างไซต์ใหม่บนเครือข่ายหลายไซต์

1
เป็นวิธีที่ถูกต้องในการแมปหลายโดเมนใน WordPress 4.1 multisite ติดตั้งคืออะไร?
ฉันทราบถึงคำถามนี้และคำถามอื่น ๆ แต่ไม่พบคำตอบที่ชัดเจนว่าโดเมนควรตั้งค่าด้วย multisite อย่างไรเพื่อให้ www และรุ่นที่ไม่ใช่ www ทำงานได้อย่างถูกต้อง ฉันเชื่อว่าฉันมี wildcards ตั้งค่าอย่างถูกต้องที่ระดับ DNS และวิธีแก้ไขปัญหาที่แนะนำเพื่อเพิ่มการdefine( 'NOBLOGREDIRECT', 'http://www.example.com' );ทำงานสำหรับไซต์หลักของฉัน แต่ไม่ใช่เครือข่ายอื่นในการติดตั้งเดียวกัน ฉันใช้ปลั๊กอิน 'WP Multi Network' จากการวิจัยบางอย่างซึ่งทำให้ฉันสรุปได้ว่าถ้าฉันใช้หลายโดเมนในการติดตั้ง WordPress ครั้งเดียวฉันควรใช้หลายเครือข่ายไม่ใช่แค่เว็บไซต์หลายไซต์ เครือข่ายและไซต์ของฉันทั้งหมดถูกเพิ่มโดยwwwรวมอยู่ในฟิลด์โดเมน ดังนั้นวิธีที่ถูกต้องในการแมปโดเมนที่ไม่มีโดเมนโดยไม่มีwwwการติดตั้งแบบหลายไซต์คืออะไร จำเป็นต้องใช้ปลั๊กอินหรือไม่ ทั้งหมดนี้ควรได้รับการจัดการในการกำหนดค่าเว็บเซิร์ฟเวอร์โดยใช้การเขียนใหม่หรือไม่?
12 multisite 

2
วิธีเปิดใช้งานการรีเฟรชในโมดอลสื่อ
ฉันกำลังพัฒนาปลั๊กอินที่เพิ่มแท็บใหม่ให้กับโมดอลมีเดียและฉันจำเป็นต้องรู้วิธีที่จะทำให้รีเฟรชแท็บไฟล์แนบเพื่อที่จะแสดงไฟล์แนบที่เพิ่งเพิ่มเข้าไปใหม่ นี่คือรหัสที่ฉันใช้: wp.media.view.Toolbar.Custom = wp.media.view.Toolbar.extend({ initialize: function() { _.defaults( this.options, { event: 'custom_event', close: false, items: { custom_event: { text: wp.media.view.l10n.customButton, style: 'primary', priority: 80, requires: false, click: this.addAttachment } } }); wp.media.view.Toolbar.prototype.initialize.apply( this, arguments ); }, // triggered when the button is clicked addAttachment: function(){ this.controller.state().addAttachment(); this.controller.setState( 'insert' ); …

2
เหตุใดจึงมีแท็กลิงก์ที่มี "โปรไฟล์" rel ชี้ไปที่ gmpg.org
ฉันพบสิ่งนี้<link rel="profile" href="http://gmpg.org/xfn/11">ในheader.phpไฟล์ของธีม WordPress จะเกิดอะไรขึ้นถ้าฉันไม่ใช้สิ่งนี้ จะเกิดอะไรขึ้นถ้าฉันใช้สิ่งนี้
12 links  headers 

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

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