WordPress

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

2
วิธีการตรวจสอบว่าชุดรูปแบบใช้งานอยู่?
ฉันต้องการตรวจสอบว่าธีมที่ยี่สิบสองมีการใช้งานหรือไม่ ฉันรู้ว่าฉันกำลังตรวจสอบปลั๊กอินที่ใช้งานอยู่ฉันจะทำสิ่งที่ชอบ: $active_plugins = apply_filters( 'active_plugins', get_option( 'active_plugins' ) ); if ( in_array( 'plugin-folder/plugin-folder.php', $active_plugins ) ) { //do stuff } else { add_action( 'admin_notices', 'create-a-notice' ); } เป็นวิธีที่เหมาะสมในการตรวจสอบว่าชุดรูปแบบมีการใช้งานเพื่อให้ฉันสามารถเรียกใช้ฟังก์ชั่นสำหรับชุดรูปแบบที่?

2
รับ ID หน้าจากรายการนำทาง
ฉันกำลังพยายามรับรหัสทั้งหมดในการนำทางของฉันและแปลงเป็นสตริงเพื่อให้ฉันสามารถใช้กับwp_queryเพื่อรับหน้าที่ระบุไว้ใน nav เท่านั้น รหัสเพื่อรับรหัส: $menu_name = 'primary'; if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] )) { $menu = wp_get_nav_menu_object( $locations[ $menu_name ] ); $menu_items = wp_get_nav_menu_items($menu->term_id); } foreach ( $menu_items as $menu_item ) { $numbers[] = $menu_item->ID; } $number = implode(',',$numbers); แต่มันกลับมาเป็นตัวเลขที่ผิด เมื่อฉันไปที่พื้นที่ผู้ดูแลระบบและเลื่อนเมาส์ไปที่หน้าจำนวนที่ปรากฏในแถบที่อยู่ด้านล่างของหน้าจอไม่ตรงกัน ผมทำอะไรผิดหรือเปล่า?
11 menus  id 

2
การเพิ่มที่อยู่อีเมลที่สองในการสั่งซื้อที่เสร็จสมบูรณ์ใน WooCommerce [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นหัวข้อสำหรับ WordPress Development Stack Exchange ปิดให้บริการใน5 ปีที่ผ่านมา ก่อนที่ฉันจะถามคำถามนี้ฉันรู้ว่ามีความลังเล (ถูกกฎหมาย) ในการตอบคำถามที่นี่เกี่ยวกับผลิตภัณฑ์ของ Woo เนื่องจากพวกเขาได้รับการสนับสนุนและผู้ใช้ควรได้รับการสนับสนุนให้ใช้สิ่งนั้น ฉันเป็นผู้ใช้ Woo ที่จ่ายเงิน แต่ไม่สามารถแก้ปัญหานี้ได้ด้วยการสนับสนุนที่มีค่าใช้จ่ายและคำถามของฉันเกี่ยวกับการเอาชนะชั้นเรียนใน WP ดังนั้นฉันหวังว่ามันจะได้รับการพิจารณาที่เป็นธรรม คำถามของฉัน: เมื่อมีการส่งอีเมลคำสั่งซื้อที่เสร็จสมบูรณ์ไปยังลูกค้าฉันต้องได้รับอีเมลนี้เป็นคำต่อคำและโดยอัตโนมัติเหมือนกับที่ส่งให้ลูกค้ามากกว่ารูปแบบอื่น ๆ เช่นใบแจ้งหนี้ PDF ที่สร้างขึ้น ปลั๊กอินสำหรับ WooCommerce ฉันสามารถทำได้โดยการเปลี่ยนบรรทัดต่อไปนี้ใน/woocommerce/classes/emails/class-wc-email-customer-completed-order.php: $this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); อ่าน: $this->send( $this->get_recipient(), $this->get_subject(), $this->get_content(), $this->get_headers(), $this->get_attachments() ); $this->send( me@myemail.com, $this->get_subject(), $this->get_content(), …

4
ปิดใช้งาน“ แก้ไขด่วน” เฉพาะสำหรับผู้ดูแลระบบที่ไม่ได้ทำงานใน
ฉันมีสิ่งนี้ในฟังก์ชั่นของฉัน function remove_quick_edit( $actions ) { unset($actions['inline hide-if-no-js']); return $actions; } add_filter('post_row_actions','remove_quick_edit',10,1); เพื่อลบลิงค์แก้ไขด่วนในแบ็กเอนด์เมื่อเลื่อนดูรายการโพสต์ที่เผยแพร่ มันใช้งานได้อย่างมีเสน่ห์ แต่มันปิดการใช้งานแม้กระทั่งสำหรับบทบาทผู้ดูแลระบบ เป็นไปได้หรือไม่ที่จะให้แสดงเฉพาะผู้ดูแลระบบในขณะที่ยังคงปิดการใช้งานส่วนที่เหลืออยู่? ขอบคุณ! แก้ไขได้ด้วย jfacemyer! นี่คือรหัสเต็มรูปแบบเพื่อเพิ่มใน functions.php function remove_quick_edit( $actions ) { unset($actions['inline hide-if-no-js']); return $actions; } if ( ! current_user_can('manage_options') ) { add_filter('post_row_actions','remove_quick_edit',10,1); }
11 quick-edit 

2
วิธีรับ nonce ที่ไม่ซ้ำสำหรับคำขอ Ajax แต่ละรายการ
ฉันได้เห็นการถกเถียงกันสองสามครั้งเกี่ยวกับการทำให้ Wordpress สร้างความแปลกใหม่ให้กับอาแจ็กซ์ที่ร้องขอ แต่สำหรับชีวิตของฉันฉันไม่สามารถทำให้ Wordpress ทำมันได้ - ทุกครั้งที่ฉันขอสิ่งที่ฉันคิดว่าควรจะเป็นใหม่ ไม่ใช่ฉันได้รับ nonce เดียวกันกลับมาจาก Wordpress ฉันเข้าใจแนวคิดของ nonce_life ของ WP และแม้กระทั่งตั้งค่าเป็นอย่างอื่น แต่นั่นก็ไม่ได้ช่วยฉัน ฉันไม่ได้สร้าง nonce ในวัตถุ JS ในส่วนหัวผ่านการแปลเป็นภาษาท้องถิ่น - ฉันทำในหน้าแสดงผลของฉัน ฉันสามารถทำให้เพจของฉันประมวลผลคำขอ Ajax ได้ แต่เมื่อฉันร้องขอ nonce ใหม่จาก WP ในการติดต่อกลับฉันได้รับ nonce เดียวกันกลับมาและฉันไม่รู้ว่าฉันทำอะไรผิด ... ในที่สุดฉันต้องการ ขยายสิ่งนี้เพื่อให้สามารถมีหลายรายการในหน้าแต่ละรายการมีความสามารถในการเพิ่ม / ลบ - ดังนั้นฉันต้องการโซลูชันที่จะอนุญาตคำขอ Ajax ที่ตามมาหลายรายการจากหน้าเดียว (และฉันควรจะบอกว่าฉันได้ใส่ฟังก์ชั่นทั้งหมดนี้ลงในปลั๊กอินดังนั้น "หน้าจอแสดงผล" ส่วนหน้าจึงเป็นฟังก์ชั่นที่มาพร้อมกับปลั๊กอิน ... ) function.php: …
11 ajax  nonce 

1
admin_notices สำหรับส่วนหน้ามีอะไรอีกไหม
ฉันใหม่กับ Wordpress และพยายามใช้ประโยชน์จากกรอบงานให้มากที่สุด ที่ส่วนหน้าฉันต้องการพื้นที่ข้อความส่วนกลางเพื่อแสดงข้อผิดพลาดความสำเร็จและประกาศทั่วไปคล้ายกับวิธีที่พวกเขาจัดการผ่าน admin_notices ที่ปลายด้านหลัง ฉันไม่เห็นตะขอคล้ายกันสำหรับส่วนหน้า ฉันเดาว่าฉันกำลังถามว่าฉันควรจะทำอะไรต่อไปที่ส่วนหน้าเพื่อเลียนแบบ admin_notices

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


5
การสร้างตารางของตัวเองสำหรับปลั๊กอินเป็นเรื่องที่ผิดหรือ
ถ้าฉันต้องการบันทึกการตั้งค่าสำหรับปลั๊กอินของฉันมันเป็นเรื่องง่ายและตรงไปตรงมา ตอนนี้ฉันต้องการบันทึกลงในฐานข้อมูลอีกเล็กน้อย ชื่อไฟล์และ 3 ค่าอื่น ๆ ที่ใช้กับไฟล์นั้นเท่านั้น และมีไฟล์จำนวนมากที่มีค่าเหล่านั้น เป็นไปได้หรือไม่ที่จะบันทึกชนิดย่อยของ subarrays โดยใช้วิธีการสร้างฐานข้อมูล? ฉันจะลบและเรียงลำดับ ฯลฯ ได้อย่างไร
11 plugins  database 

2
การสลับการติดตั้ง MultiSite จาก HTTP เป็น HTTPS
ผมติดตั้ง MultiSite กับชุด URL ที่เป็นhttp://example.comแต่ตอนนี้ฉันต้องการบังคับคำขอทั้งหมดที่จะไปผ่าน HTTPS ดังนั้นฉันพยายามที่จะเปลี่ยน URL ที่จะhttps://example.com ฉันผ่านฐานข้อมูลและอัปเดตค่าsiteurlและhomeค่าทั้งหมดเพื่อให้มีhttpsแต่ไซต์ยังคงโหลดผ่าน HTTP แทนที่จะเปลี่ยนเส้นทางไปยัง HTTPS ฉันรู้ว่าฉันสามารถตั้งค่ากฎ htaccess บางอย่าง แต่ก็มีแนวโน้มที่จะเกิดข้อผิดพลาด ในการติดตั้งปกติ WordPress จะเปลี่ยนเส้นทางคำขอทั้งหมดไปยัง URL ตามมาตรฐานที่กำหนดไว้ในsiteurlและhomeการตั้งค่าโดยอัตโนมัติดังนั้นฉันคิดว่า MultiSite ก็ทำเช่นกัน

3
ทำไม“ / หน้า / 2 /” ไม่ทำงาน
ในที่สุดก็มีเลขหน้าให้ทำงานกับรหัสด้านล่าง แต่ตอนนี้การเชื่อมโยงเลขหน้ากับ / วิดีโอ / หน้า / 2 / ซึ่งไม่มีอยู่ ฉันจะทำให้หน้า 2 ทำงานได้อย่างไร <?php $temp = $wp_query; $wp_query= null; $wp_query = new WP_Query(); $wp_query->query('post_type=videos&showposts=1'.'&paged='.$paged); while ($wp_query->have_posts()) : $wp_query->the_post(); //display stuff endwhile; php wp_pagenavi(); ?>

2
current_shortcode () - ตรวจสอบรหัสย่อที่ใช้ในปัจจุบัน
ในคลาสปลั๊กอินฉันต้องการให้ฟิลด์ง่าย ๆ สำหรับข้อมูลสาธารณะ: อีเมล, หมายเลขโทรศัพท์, Twitter เป็นต้นสามารถขยายรายการได้ ดูปลั๊กอินข้อมูลติดต่อสาธารณะใน GitHub สำหรับรายละเอียด เพื่อให้การใช้งานง่ายขึ้นฉันต้องการเสนอรหัสย่อที่พิมพ์ได้ง่าย: [public_email] [public_phone] [public_something] ข้อแตกต่างเพียงอย่างเดียวคือส่วนที่สอง ฉันไม่ต้องการอาร์กิวเมนต์เพิ่มเติมสำหรับรหัสย่อเนื่องจากข้อผิดพลาดเกิดขึ้นได้ง่าย ดังนั้นฉันลงทะเบียนตัวจัดการรหัสย่อหนึ่งรายการสำหรับฟิลด์ทั้งหมดในคลาสปลั๊กอินของฉัน: foreach ( $this->fields as $key => $value ) { add_shortcode( 'public_' . $key, array( $this, 'shortcode_handler' ) ); } ตอนนี้shortcode_handler()ต้องทราบรหัสย่อที่ถูกเรียก คำถามของฉันคือ: ฉันจะทำเช่นนี้ได้อย่างไร วิธีแก้ปัญหาปัจจุบันของฉันคือฟังก์ชั่นอื่น: protected function current_shortcode() { $backtrace = debug_backtrace( DEBUG_BACKTRACE_IGNORE_ARGS ); return …

3
วิธีจัดคิวสไตล์ให้กับหน้าเว็บบางหน้าแบบมีเงื่อนไขเท่านั้น
ก่อนที่ฉันจะเริ่มต้นฉันต้องการรับทราบว่ามีบทความที่ดีจริงๆที่กำหนดเป้าหมายวิธีการจัดคิวสคริปต์ตามเงื่อนไขตามเนื้อหาของหน้า / โพสต์ การพัฒนาปลั๊กอิน WordPress - วิธีรวม CSS และ JavaScript แบบมีเงื่อนไขและเฉพาะเมื่อจำเป็นโดยการโพสต์ วิธีโหลด JavaScript เช่น WordPress Master สิ่งเหล่านี้ยอดเยี่ยม แต่พวกมันก้าวหน้ากว่าสิ่งที่ฉันต้องการ ฉันรู้สึกว่าคำตอบคือการใช้is_page()ฟังก์ชั่นในตัว( codex ) แต่เมื่อฉันพยายามที่จะใช้มันเป็นตัวแบ่งไซต์หรือไม่ทำงาน ฉันคิดว่าฉันกำลังดำเนินการตามตรรกะตามเงื่อนไขในจุดที่ผิด นี่คือสิ่งที่ฉันได้ลองเพิ่มในฟังก์ชั่นของฉัน php: function wpse39130_register_more_stylesheets() { wp_register_style( 'stylesheet_name', get_stylesheet_directory_uri() . '/stylesheet.css' ); } add_action( 'init', 'wpse39130_register_more_stylesheets' ); function wpse39130_conditionally_enqueue_my_stylesheet() { // only enqueue on product-services page slug if …

3
Echo ผู้เขียน ID ใน author.php
นี่อาจเป็นคำถามง่าย ๆ แต่ฉันจะสะท้อน ID ของผู้ใช้ใน author.php ได้อย่างไร ฉันได้พยายาม the_author_meta('ID') แต่ดูเหมือนจะไม่ต้องการทำงาน ฉันต้องการที่จะสะท้อนในตอนท้ายของ URL เช่น; http: ///www.domain.com/author/sampleauthor-id เห็นได้ชัดว่าที่ "id" คือรหัสของผู้เขียนนั้น ความคิดใด ๆ

5
มีวิธีตั้งค่าฟิลด์กำหนดเองเริ่มต้นเมื่อสร้างโพสต์หรือไม่
เมื่อฉันสร้างโพสต์ใหม่หลังจากคลิก "เพิ่มใหม่"เมื่อตัวแก้ไขโพสต์แสดงแทนที่จะต้องใช้เมนูดร็อปดาวน์และเลือกฟิลด์ที่กำหนดเองเพื่อใช้ฉันต้องการมีอินพุตฟิลด์ที่กำหนดเองเริ่มต้นอยู่แล้ว ปลายเปิด. มองเห็นได้แทนที่จะเป็น: ฉันต้องการที่จะมีสิ่งที่ชอบ: ฉันรู้ว่ามีปลั๊กอินสำหรับ (CPT, ฟิลด์เพิ่มเติม, ฯลฯ ) แต่ฉันต้องการวิธีง่ายๆในการใช้ฟังก์ชันพื้นฐาน ฉันลองทำสิ่งนี้ (ฉันใช้ประเภทผลิตภัณฑ์โพสต์ที่กำหนดเอง): function register_custom_fields( $post_ID ) { global $wpdb; if( !wp_is_post_revision( $post_ID ) ) { add_post_meta( $post_ID, 'reference', '', true); add_post_meta( $post_ID, 'price', '', true); } } add_action('edit_product', 'register_custom_fields'); แต่ดูเหมือนจะไม่ทำงาน ฉันคิดว่า hook อาจผิด (เพราะedit_postมาหลังจากอัปเดต) แต่ฉันไม่เห็น hook สำหรับ "new post" …

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