WordPress

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

6
ใช้ register_post_type () เพื่อแก้ไขประเภทโพสต์ที่มีอยู่
มีหลายสถานการณ์ที่ชุดรูปแบบหรือปลั๊กอินลงทะเบียนประเภทโพสต์และคุณต้องการแก้ไข มีแน่นอนadd_post_type_support()และremove_post_type_support(), แต่สิ่งเหล่านั้นไม่อนุญาตให้เข้าถึงรายการอาร์กิวเมนต์ทั้งหมดที่register_post_type()เกิดขึ้น. โดยเฉพาะอย่างยิ่งฉันอาจต้องการปิดใช้งานการเก็บถาวรชนิดโพสต์ซ่อน UI ของผู้ดูแลระบบซ่อนจากการค้นหา ฯลฯ ขณะที่ปล่อยให้การตั้งค่าประเภทโพสต์ที่เหลืออยู่คนเดียว หน้า Codex สำหรับregister_post_type() dangles นี้ในด้านหน้าของฉัน: ลักษณะ สร้างหรือแก้ไขประเภทโพสต์ แต่ในอดีตเมื่อฉันพยายามทำสิ่งนี้ดูเหมือนจะไม่ได้ผล ฟังก์ชั่นนี้จริงๆแล้วสำหรับการแก้ไขประเภทโพสต์และถ้าเป็นเช่นนั้นคุณสามารถประกาศอาร์กิวเมนต์สองสามข้อแล้วทิ้งส่วนที่เหลือไว้คนเดียวได้หรือไม่? เมื่อเห็นว่าไม่มีderegister_post_type()ฟังก์ชั่นฉันก็ไม่เข้าใจว่ามันสามารถทำได้


5
ปลั๊กอินทั้งหมดควรถูกห่อหุ้มในคลาสหรือไม่?
เมื่อมีการพัฒนาปลั๊กอินควรมีการจัดกลุ่มฟังก์ชั่นเข้าด้วยกันเป็น Class เพื่อหลีกเลี่ยงความขัดแย้งของ namespace หรือไม่? การใช้คลาสสร้างค่าใช้จ่ายด้านประสิทธิภาพสำหรับ PHP หรือไม่ หากมีการเข้าชมประสิทธิภาพชื่อฟังก์ชันควรได้รับการแก้ไขล่วงหน้าแทนหรือไม่

4
WordPress 4.7.1 REST API ยังคงเปิดเผยผู้ใช้
ฉันได้อัพเกรด WordPress เป็น4.7.1แล้วหลังจากนั้นฉันพยายามระบุผู้ใช้ผ่าน REST API ซึ่งควรแก้ไข แต่ฉันสามารถดึงผู้ใช้ได้ https://mywebsite.com/wp-json/wp/v2/users เอาท์พุท: [{"id":1,"name":"admin","url":"","description":"","link":"https:\/\/mywebsite\/author\/admin\/","slug":"admin","avatar_urls":{"24": ... การเปลี่ยนแปลงจากเวอร์ชั่นล่าสุด: REST API เปิดเผยข้อมูลผู้ใช้สำหรับผู้ใช้ทั้งหมดที่สร้างโพสต์ประเภทโพสต์สาธารณะ WordPress 4.7.1 จำกัด สิ่งนี้เฉพาะโพสต์ประเภทที่ระบุว่าควรจะแสดงใน REST API รายงานโดย Krogsgard และ Chris Jean หลังจากติดตั้งปลั๊กอินDisable REST APIดูเหมือนว่าทุกอย่างทำงานได้ดี แต่ฉันไม่ชอบใช้กับปลั๊กอินเล็ก ๆ น้อย ๆ ทุกอย่าง เอาต์พุตหลังจากใช้ปลั๊กอินคือ: {"code":"rest_cannot_access","message":"Only authenticated users can access the REST API.","data":{"status":401}} ฉันจะแก้ไขปัญหานี้ได้อย่างไรโดยไม่ต้องใช้ปลั๊กอินหรือทำไมถึงแม้หลังจากอัพเกรดสไตล์นี้แล้ว แก้ไข 30.9.2017 ฉันตระหนักว่ามีความขัดแย้งระหว่างcontact 7ปลั๊กอินDisable REST APIและที่จะทำให้คุณมี401 …

1
เพิ่มคอลัมน์ที่กำหนดเองไปยังแผงผู้ดูแลระบบผู้ใช้
มีค่าเริ่มต้น 5 คอลัมน์ชื่อชื่อผู้ใช้ชื่ออีเมลบทบาทการโพสต์ใน USERS ตอนนี้ฉันต้องการเพิ่มอีกหนึ่งคอลัมน์ด้วยหมายเลขติดต่อของเขา ฉันจะทำสิ่งนี้ได้อย่างไร?
28 admin 

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

2
เป็นไปได้หรือไม่ที่จะเพิ่มเมนูประเภทโพสต์ที่กำหนดเองเป็นเมนูย่อยประเภทโพสต์ที่กำหนดเองอื่น
ฉันกำลังพัฒนาปลั๊กอิน wordpress ที่ใช้โพสต์ที่กำหนดเองสองประเภท สิ่งที่ฉันอยากรู้ที่นี่: เป็นไปได้ไหมที่จะเพิ่มเมนูประเภทโพสต์ที่กำหนดเองเป็นเมนูย่อยของโพสต์ประเภทอื่นที่กำหนดเอง?

1
รับรายการการกระทำที่ลงทะเบียนทั้งหมด
ฉันพยายามดีบักปลั๊กอินที่ฉันไม่ได้พัฒนาและต้องการแสดงรายการการลงทะเบียนทั้งหมด ฉันได้อ่านหัวข้อนี้ดังนั้น: WordPress: ฉันจะรับฟังก์ชั่นที่ลงทะเบียนทั้งหมดสำหรับตัวกรอง 'the_content' ได้อย่างไร - StackOverflow แต่มันเกี่ยวกับเบ็ดเดียวและเกี่ยวกับตัวกรองไม่ใช่การกระทำ มีตัวแปรอะไรที่ชอบ$wp_filterหรือบางอย่าง?

3
การกำหนดเวอร์ชัน @import ของ style.css ของ parent parent
บริบท ฉันสร้างชุดรูปแบบเด็กตาม Twenty Thirteen ซึ่งทำงานได้ค่อนข้างดี หลังจากการปรับปรุงรูปแบบแม่เพื่อรุ่น 1.3 style.cssผมสังเกตเห็นพฤติกรรมแปลกกับสไตล์ที่มีสาเหตุมาจากรูปแบบการปกครองที่เก็บไว้ชั่วคราวของ นี่คือเนื้อหาของชุดรูปแบบลูกของฉันstyle.css(ละเว้นส่วนหัว) /* =Imports styles from the parent theme -------------------------------------------------------------- */ @import url('../twentythirteen/style.css'); ดังนั้นรูปแบบเด็กเป็นไม่ได้ทำอะไรมากไปกว่าการนำเข้าธีมของผู้ปกครองstyle.cssstyle.css ฉันยังมีไฟล์ css อีกไฟล์ที่มีการปรับแต่งธีมลูกของฉันซึ่งฉันเข้าคิวด้วยเช่นนี้ในfunctions.php: // Enqueue parent theme's style.css (faster than using @import in our style.css) $themeVersion = wp_get_theme()->get('Version'); // Enqueue child theme customizations wp_enqueue_style('child_main', get_stylesheet_directory_uri() . '/css/main.css', null, $themeVersion); …

4
ยกเว้นโพสต์ ID จาก wp_query
ฉันจะยกเว้นหนึ่งโพสต์เฉพาะจากแบบสอบถาม WP_Query ได้อย่างไร (ตัวอย่างเช่นแสดงโพสต์ทั้งหมดนอกเหนือจากโพสต์ที่มี ID 278) ฉันลองอาร์กิวเมนต์ post__not_in แล้ว แต่เพิ่งลบโพสต์ทั้งหมด .. ความช่วยเหลือใด ๆ จะดีมาก นี่คือแบบสอบถามปัจจุบันของฉัน <?php $temp = $wp_query; $wp_query= null; $wp_query = new WP_Query(array( 'post_type' => 'case-study', 'paged' => $paged, )); while ($wp_query->have_posts()) : $wp_query->the_post(); ?> ขอบคุณ
28 wp-query  exclude 

5
จะจัดเก็บและรับตัวแปรในเซสชัน WP ได้อย่างไร
ฉันมีแบบฟอร์มที่มีช่องทำเครื่องหมายและกล่องเลือกบางช่องและมันแสดงสิ่งที่ผู้ใช้ต้องการผ่านการโทร ajax ปัญหาคือเมื่อผู้ใช้คลิกที่รายการและหน้ารายละเอียดจะปรากฏขึ้นแล้วตัดสินใจกลับไปที่หน้าก่อนหน้าเขาต้องคลิกและเลือกตัวเลือกก่อนหน้าของเขาอีกครั้ง ฉันต้องการให้ WP เก็บตัวเลือกทั้งหมดในเซสชันเมื่อมีการคลิกปุ่มไปที่หน้ารายละเอียดและบันทึกข้อมูลจริงในเซสชันจากนั้นเมื่อเขาเข้าชมหน้าอีกครั้งค่าจะถูกกำหนดในเซสชันและตั้งค่าหากมี พบ ที่สามารถทำได้ใน WP? ถ้าใช่เป็นอย่างไร เรามาสรุปและบอกว่าเรามีอะไรแบบนี้ในรูปแบบของเรา: <input class="car_color" type="checkbox" name="car_color" value="1" /> <input class="car_color" type="checkbox" name="car_color" value="2" /> <input class="car_color" type="checkbox" name="car_color" value="8" /> <input class="car_color" type="checkbox" name="car_color" value="4" /> <input class="car_color" type="checkbox" name="car_color" value="6" /> ฉันไม่ใช้ปุ่มส่งในแบบฟอร์มของฉันจัดการผ่าน AJAX เมื่อมีการเปลี่ยนแปลงอินพุต และในผลลัพธ์ของฉันผ่าน ajax ฉันมีลิงค์ไปยังหน้ารายละเอียด: <a class="detail-info-link" href="<?php …
28 wp-query  session 


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

1
จะเพิ่มแท็ก defer =“ defer” ใน javascripts ปลั๊กอินได้อย่างไร
ฉันไม่สามารถเพิ่มแท็กที่เลื่อนออกไปในปลั๊กอินจาวาสคริปต์ การทดสอบหน้าเว็บสำหรับนักพัฒนาซอฟต์แวร์ของ Google แนะนำให้ฉันเพิ่มแท็กที่เลื่อนออกไปในรูปแบบการติดต่อ 7 javascripts นี่คือวิธีที่ฟอร์มการติดต่อ 7 รวมถึงจาวาสคริปต์ในส่วนหัว add_action( 'wp_enqueue_scripts', 'wpcf7_enqueue_scripts' ); function wpcf7_enqueue_scripts() { // jquery.form.js originally bundled with WordPress is out of date and deprecated // so we need to deregister it and re-register the latest one wp_deregister_script( 'jquery-form' ); wp_register_script( 'jquery-form', wpcf7_plugin_url( 'jquery.form.js' ), array( 'jquery' …

6
วิธีการแก้ไขข้อผิดพลาด HTTP เมื่ออัพโหลดรูปภาพ?
ฉันใช้ WordPress 3.4.1 บน Ubuntu 12.04 โดยใช้ Apache และ PHP 5.3.X เมื่อฉันเข้าสู่แผงควบคุมและเพิ่มโพสต์ใหม่ จากนั้นลองอัปโหลดภาพเพื่อตั้งเป็นภาพเด่นฉันได้รับกล่องสีแดงพร้อมข้อความ "ข้อผิดพลาด HTTP" ฉันได้อ่านเกี่ยวกับคนที่บอกว่าไม่ได้ใช้ตัวอัปโหลดแฟลชและใช้ตัวอัปโหลดเบราว์เซอร์ แต่เมื่อฉันลองฉันจะได้รับ 500 Internal Server Error ฉันได้ลองเพิ่มAddType x-mapp-php5 .phpที่ด้านบนของไฟล์. htaccess โดยไม่มีการเปลี่ยนแปลงใด ๆ การปิดใช้งานปลั๊กอินทั้งหมดไม่มีผลใด ๆ ฉันลองติดตั้งใหม่ ไม่มีโชค. อัปเดต 10/17/2016 - หากคุณกำลังใช้บทบาทหรือความสามารถที่กำหนดเองโปรดลองใช้บทบาท / ความสามารถดั้งเดิมแล้วลองอีกครั้ง สิ่งที่ต้องพิจารณาในการตรวจสอบ: การเป็นเจ้าของไฟล์ สิทธิ์ของไฟล์ .htaccess การกำหนดค่า PHP เวอร์ชัน 7+ WordPress เวอร์ชั่นปัจจุบัน หากคุณใช้งานพร็อกซีตรวจสอบให้แน่ใจว่าคุณกำหนดค่าการหมดเวลาของพร็อกซีเซิร์ฟเวอร์อย่างถูกต้อง

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