WordPress

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

2
ประเภทโพสต์ที่กำหนดเอง - ฟิลด์คำสั่งซื้อ
ในประเภทโพสต์ที่กำหนดเองจะมีวิธีรวมฟิลด์ "คำสั่งซื้อ" ที่ใช้ได้กับหน้าเว็บหรือไม่ มีตรรกะในตัวที่ป้องกันค่าที่ซ้ำกันในฟิลด์ "คำสั่งซื้อ" หรือไม่? แนวคิดคือสามารถจัดเรียงประเภทโพสต์ที่กำหนดเองตามคำสั่งที่ผู้ใช้ระบุตามลำดับตัวอักษรตามฟิลด์ที่กำหนดเองตามสตริง

2
do_shortcode () ภายในหน้าผู้ดูแลระบบ
ฉันใช้ปลั๊กอินไม่กี่ตัวที่มีรหัสย่อ ... อย่างไรก็ตามแทนที่จะสร้างหน้าสาธารณะสำหรับเนื้อหาฉันได้สร้างหน้าใหม่บางส่วนภายในผู้ดูแลระบบโดยใช้add_menu_pageและฉันจำเป็นต้องรู้วิธีใช้งานdo_shortcode()ในบริบทนี้ มันยืนฟังก์ชั่นทั้งหมดมันคายสตริง ฉันสมมติว่าเป็นเพราะรหัสย่อ API ไม่สามารถใช้ได้ในหน้าผู้ดูแลระบบ ฉันจะรับสิ่งนี้ได้อย่างไร ไม่มีเอกสารที่ฉันสามารถหาได้ซึ่งอธิบายวิธีการใช้รหัสย่อภายใน WP Admin ... หรือถ้าเป็นไปได้ โดยเฉพาะฉันพยายามใช้รหัสย่อของ WooCommerce ภายใน WP Admin ฉันเกลียดความจริงที่ว่าปลั๊กอินไม่ได้ใช้ WP Backend สำหรับการจัดการบัญชี / ผู้ใช้

1
ตัวเลือกและการตั้งค่าต่างกันอย่างไร
ฉันควรใช้อันไหนดี? Options APIกับSetings APIต่างกันอย่างไร ฉันมีชุดรูปแบบที่มีตัวเลือกผู้ดูแลมากกว่า 100 ตัวฉันจะลงทะเบียนและจัดเก็บได้อย่างไร ในขณะนี้ฉันใช้API ตัวเลือกแต่ฉันไม่พอใจเลยตัวเลือกเดียวทุกตัวจะถูกลงทะเบียนแยกจากกันดังนั้นพวกเขาจึงสร้างการสืบค้นฐานข้อมูลจำนวนมาก ฉันเห็นสามวิธีในการจัดเก็บตัวเลือก / การตั้งค่า WordPress ในขณะนี้: 1. ตัวเลือก API - วิธีเก่า (แย่ที่สุด?) (ฉันใช้อันนี้อยู่แล้ว) <form method="post" action="options.php"> <?php wp_nonce_field('update-options'); ?> // all the inputs <input type="hidden" name="action" value="update" /> <input type="hidden" name="page_options" value="option1,option2,option3,..." /> <p class="submit"> <input type="submit" value="<?php _e('Save Changes') ?>" /> …
14 options 

3
wpdb-> insert: ฉันต้องเตรียมการฉีด SQL หรือไม่?
ฉันต้องใช้การเตรียม wpdb ก่อนที่จะแทรก wpdb-> หรือไม่ หากฉันกำลังแทรกค่าลงในตาราง wordpress โดยใช้ wpdb-> insert ฉันต้อง "ล้าง" ข้อมูลของฉันก่อนที่จะแทรกมันหรือวิธีนี้ (wpdb-> insert) ทำเพื่อฉันหรือไม่
14 wpdb 

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

5
WP_DEBUG ไม่ได้ถูกตั้งค่า แต่ฉันยังคงได้รับคำเตือน
หาก WP_DEBUG ไม่ได้ตั้งค่าตามที่ฉันเข้าใจคุณไม่ควรเห็นคำเตือน แต่ในบางไซต์บนเซิร์ฟเวอร์บางตัวฉันยังเห็นบางอย่าง ไม่ใช่คำเตือนทั้งหมดที่จะปรากฏขึ้นหาก WP_DEBUG ถูกตั้งค่าไว้ แต่เป็นเพียงบางส่วนเท่านั้น ฉันได้ลองเปลี่ยนระดับข้อผิดพลาดใน php.ini แต่ดูเหมือนว่าจะไม่มีผลต่อการเตือนปรากฏหรือไม่ แต่พวกเขาจะปรากฏในจำนวนที่แตกต่างกันในเซิร์ฟเวอร์ที่แตกต่างกัน (เช่นไม่มีคำเตือนในการพัฒนาหนึ่งคำเตือนเกี่ยวกับการแสดงละครและ อีกสองสามคำเตือนเกี่ยวกับการผลิต)

2
จะเพิ่มความสามารถให้กับบทบาทผู้ใช้ได้อย่างไร
ฉันกำลังจัดการเครือข่าย Wordpress และต้องการเพิ่มความสามารถของผู้ใช้ที่ไม่ได้กรองให้กับบทบาทผู้ใช้ที่กำหนดไว้ล่วงหน้าของ Admin ในการติดตั้ง Wordpress แบบมาตรฐานบัญชีผู้ดูแลระบบจะมีความสามารถนี้อยู่แล้ว แต่ในการติดตั้ง MU ผู้ดูแลระบบเท่านั้นที่มีความสามารถนี้ Wordpress บทบาทและความสามารถ ฉันจะเพิ่มบทบาทผู้ดูแลระบบจากภายในธีมหรือปลั๊กอินได้อย่างไร

1
ค้นหาประเภทโพสต์ที่กำหนดเองหลายประเภทในวงเดียว
ฉันรู้ว่ามีโพสต์อื่น ๆ อีกหลายที่ครอบคลุมพื้นคล้ายกับสิ่งที่ฉันกำลังจะถาม ฉันมีประเภทโพสต์ที่กำหนดเองสามแบบที่ทำงานอยู่นอกเหนือจาก 'โพสต์' ฉันต้องการเรียกใช้ลูปที่ดึงการโพสต์ทั้งหมดที่จัดอยู่ในหมวดหมู่เฉพาะ <?php $args = array( 'post_type' => 'testimonial', 'posts_per_page' => 1, 'tax_query' => array( array ( 'taxonomy' => 'testimonial_category', 'field' => 'slug', 'terms' => 'home' ) ) ); $query = new WP_Query( $args ); $postcount = 0; ?> <?php if ($query->have_posts()) : ?> <?php while …
14 php  wp-query  loop  query 

2
meta_query 'เปรียบเทียบ' => 'IN' ไม่ทำงาน
ก่อนอื่นฉันรู้ว่ามันซ้ำซ้อน แต่ไม่มีคำตอบเก่า ๆ ที่มีประโยชน์ post_metaฉันค้นหาในโพสต์ผ่าน นี่คือรหัสของฉันซึ่งปัจจุบันไม่มีอะไรคืน $args = array( 'numberposts' => -1, 'post_type' => 'post', 'meta_query' => array( array( 'key' => 'system_power_supply', 'value' => array('single', 'redundant'), 'compare' => 'IN', ) ) ); $query = new WP_Query($args); echo $query->found_posts; ถ้าฉันลบmeta_queryมันทำงาน ฉันแน่ใจในสิ่งเหล่านี้: ไม่มีความผิดพลาดในการสะกดคำเป็นหรือkeyvalue โพสต์ประเภทคือ post มีเป็นโพสต์ที่มีค่า 'เดียว' ใน 'system_power_supply' a แต่สาขาที่โพสต์จะถูกสร้างโดยฟิลด์ที่กำหนดเองขั้นสูง

6
มันจะทำลายเว็บไซต์ของฉันหรือไม่ถ้าฉันลบบันทึกชั่วคราวทั้งหมดในตาราง wp_options
ขณะนี้ไซต์ของฉันมีระเบียนชั่วคราว 500k + ที่ชั่วร้ายในตาราง wp_options สิ่งนี้ทำให้ตารางล้มเหลวบ่อยครั้งและเป็นเว็บไซต์ของฉันด้วย ฉันคิดว่าบันทึกชั่วคราวจะหมดเวลาหลังจากนั้น ฉันไม่แน่ใจว่าปลั๊กอินตัวไหนที่รับผิดชอบและสิ่งที่ผิดพลาดไป อย่างไรก็ตามฉันไม่ต้องการให้เว็บไซต์ของฉันพังบ่อยเช่นนี้ จำนวนระเบียนในwp_optionsตารางเพิ่มขึ้นเป็น 200k + เมื่อไม่กี่สัปดาห์ที่ผ่านมาและตอนนี้ 500k + ฉันควรจะลบ%transient_timeout%บันทึก - 200k + ของพวกเขาในขณะนี้? ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมอย่างมาก. อัพเดทเมื่อวันที่ 16 กรกฎาคม 2555 ฉันเสี่ยงจริงๆ (ฉันสำรองข้อมูลเว็บไซต์ของฉันก่อน) โดยการลบระเบียนชั่วคราวทั้งหมดและฐานข้อมูลของเว็บไซต์ของฉันไม่ได้ 'ล้มเหลวนับตั้งแต่ :) ขอบคุณอีกครั้งทุกคน!

5
แบบสอบถามเทมเพลตหน้าด้วย WP_Query
ฉันต้องการสืบค้นเฉพาะหน้าที่มีเทมเพลตหน้าที่มีWP_Queryหรือฟังก์ชันที่จะส่งคืนออบเจกต์โพสต์ แต่ฉันไม่พบข้อมูลใด ๆ เกี่ยวกับสิ่งนั้นใน codex ที่เป็นทางการ

6
ตรวจสอบว่ามีการใช้งานกูเทนเบิร์กหรือไม่
ฉันจะตรวจสอบได้อย่างไรว่าตัวแก้ไขที่ใช้อยู่ในปัจจุบันคือ Gutenberg ในปลั๊กอิน WordPress หรือไม่? ฉันต้องการสิ่งนี้เพราะ Gutenberg ไม่มีpost_submitbox_misc_actionsดังนั้นฉันต้องการทางเลือกซึ่งจะใช้หากแก้ไขปัจจุบันคือ Gutenberg

1
จะแก้ไขฟิลด์ที่กำหนดเองที่ขาดหายไปหลังจากอัปเกรดเป็น WordPress 4.8.1 ได้อย่างไร
ฉันมีชุดรูปแบบที่กำหนดเองที่ฉันใช้หลายครั้งในเว็บไซต์ต่างๆ ฉันยังมีปลั๊กอินที่กำหนดเองติดตั้ง ก่อนหน้า v4.8.1 ฉันสามารถเห็นฟิลด์ที่กำหนดเองในผู้ดูแลระบบ wp ได้ตลอดเวลาเมื่อฉันต้องการแก้ไขโพสต์ ตั้งแต่อัปเดตเป็น 4.8.1 ฉันไม่สามารถมองเห็นได้อีกต่อไป เมื่อฉันแก้ไขโพสต์ให้คลิกตัวเลือกหน้าจอฉันไม่เห็นตัวเลือกฟิลด์ที่กำหนดเองที่นั่น ฉันได้ลองใช้ไซต์การพัฒนาเป็นธีม WordPress 2017 ที่เป็นค่าเริ่มต้น เมื่อฉันทำเช่นนั้นฉันสามารถไปที่หน้าจอแก้ไขโพสต์และดูตัวเลือกฟิลด์ที่กำหนดเองในเมนูตัวเลือกหน้าจอพร้อมกับตัวเลือกอื่น ๆ ทั้งหมดที่ควรมี ฉันมองผ่านชุดรูปแบบ 2017 และฉันไม่เห็นอะไรพิเศษในนั้นที่จะเปิดใช้งานตัวเลือกฟิลด์ที่กำหนดเอง ฉันยังไม่เห็นสิ่งใดในปลั๊กอินหรือธีมที่ควรลบตัวเลือกเหล่านี้ ปัญหานี้เกิดขึ้นหลังจากฉันอัปเดตเป็น WP 4.8.1 มีตัวเลือกใหม่สำหรับแสดง / ซ่อนสำหรับฟิลด์ที่กำหนดเองหรือไม่? และเพื่อแสดงรายละเอียดเพิ่มเติมทั้งประเภทโพสต์ที่กำหนดเองและส่วนโพสต์มาตรฐานจะไม่แสดง "ฟิลด์ที่กำหนดเอง" เป็นตัวเลือกภายใต้ "ตัวเลือกหน้าจอ" ในความเป็นจริงพวกเขาแสดงเพียงสามสิ่งภายใต้กล่อง “ รูปภาพเด่น, DAV กลุ่มเด่นและกระสุน” ในปลั๊กอินของฉันนี่คือสิ่งที่ฉันมี - มันถูกห่อในคลาส: add_action('init', array($this, 'setup_post_type')); // Setup the custom post type for …

3
singular.php คืออะไร
จาก 4.3 singular.phpเรามีแม่แบบใหม่ ฉันพยายามเข้าใจว่ามันคืออะไร แต่ฉันไม่เข้าใจ :) page.phpสำหรับหน้า single.phpสำหรับโพสต์ทุกประเภท หากเรามีsingle-[post-type].phpเราสามารถใช้เทมเพลตเฉพาะสำหรับประเภทโพสต์ที่กำหนดเอง .. ทำไมเราต้องการsingular.php?

4
ไม่สนใจบทความเริ่มต้น (เช่น 'a', 'an' หรือ 'the') เมื่อเรียงลำดับข้อความค้นหา?
ฉันกำลังพยายามส่งออกรายการของชื่อเพลงและต้องการให้ละเว้นการเรียงลำดับ (แต่ยังคงแสดง) บทความเริ่มต้นของชื่อเรื่อง ตัวอย่างเช่นถ้าฉันมีรายชื่อของวงดนตรีมันจะแสดงตามลำดับตัวอักษรใน WordPress ดังนี้: วันธรรมสวนะดำ Led Zeppelin พิงค์ฟลอยด์ เดอะบีทเทิลส์ หว่า หินกลิ้ง ผอมลิซซี่ แต่ฉันต้องการให้มันแสดงตามตัวอักษรในขณะที่ละเว้นบทความเริ่มต้น 'The' เช่นนี้ เดอะบีทเทิลส์ วันธรรมสวนะดำ หว่า Led Zeppelin พิงค์ฟลอยด์ หินกลิ้ง ผอมลิซซี่ ฉันเจอวิธีแก้ไขปัญหาในรายการบล็อกจากปีที่แล้วซึ่งแนะนำรหัสต่อไปนี้ในfunctions.php: function wpcf_create_temp_column($fields) { global $wpdb; $matches = 'The'; $has_the = " CASE WHEN $wpdb->posts.post_title regexp( '^($matches)[[:space:]]' ) THEN trim(substr($wpdb->posts.post_title from 4)) ELSE $wpdb->posts.post_title END …

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