จะแก้ไขฟิลด์ที่กำหนดเองที่ขาดหายไปหลังจากอัปเกรดเป็น WordPress 4.8.1 ได้อย่างไร


13

ฉันมีชุดรูปแบบที่กำหนดเองที่ฉันใช้หลายครั้งในเว็บไซต์ต่างๆ ฉันยังมีปลั๊กอินที่กำหนดเองติดตั้ง ก่อนหน้า 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 the videos
    public function setup_post_type() {
        add_theme_support('post-thumbnails');
        register_post_type('thankavet', array(
            'labels' => array(
                'name' => __('Thanks Videos'),
                'singular_name' => __('Thanks Video')
            ),
            'public' => true,
            'supports' => array('title', 'editor', 'custom-fields', 'thumbnail'),
            'has_archive' => true,
            'menu_icon' => 'dashicons-format-video',
            'rewrite' => array(
                'slug' => 'thank-you'
            )
          )
        );
      }

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

ขออภัยฉันโพสต์สิ่งนี้จากโทรศัพท์ของฉันดังนั้นการจัดรูปแบบไม่ร้อนเกินไป


1
ฉันไม่คิดว่าเป็นรุ่นWordPress 4.8.1 ที่ทำเช่นนั้น แต่คุณติดตั้งฟิลด์กำหนดเองขั้นสูงหรือไม่ รีลีสของพวกเขา 5.6.0 ซ่อนเมตาของช่อง WordPress ที่กำหนดเองเริ่มต้นตามค่าเริ่มต้น "remove_wp_meta_box เราได้เพิ่มในการตั้งค่าใหม่ใน v5.5.13 เพื่อให้สามารถลบ metabox ของฟิลด์ WP custom ที่กำหนดเองได้แม้ว่าจะง่าย แต่สิ่งนี้สามารถเพิ่มความเร็วในการโหลดของหน้าแก้ไขการโพสต์ได้อย่างมาก! ถูกตั้งค่าเป็นจริงโดยค่าเริ่มต้น " advancedcustomfields.com/blog/acf-pro-5-6-0-ui-ux
Ben HartLenn

คุณอาจจะถูกต้องให้ฉันดูที่ ขอบคุณ!
Robbiegod

@ ความคิดเห็นของ BenHartLenn เป็นทางออก (ควรเปลี่ยนเป็นคำตอบ)
Attila Fulop

ขอบคุณสำหรับพรอมต์ @AtilaFulop ฉันได้ขยายความคิดเห็นของฉันเป็นคำตอบ
Ben HartLenn

คำตอบ:


28

ฉันไม่คิดว่ามันเป็นรุ่น WordPress 4.8.1 ที่ทำเช่นนั้น แต่คุณติดตั้งฟิลด์กำหนดเองขั้นสูงหรือไม่ หากคุณทำเช่นนั้นรีลีส 5.6.0 ของพวกเขาจะซ่อนกล่องเมตาของเขตข้อมูลกำหนดเอง WordPress เริ่มต้นตามค่าเริ่มต้น

remove_wp_meta_box

เราได้เพิ่มการตั้งค่าใหม่ใน v5.5.13 เพื่อให้สามารถลบเมตาโบล์ฟิลด์ WP แบบกำหนดเองเริ่มต้นได้ แม้ว่าจะง่าย แต่สิ่งนี้สามารถเพิ่มความเร็วในการโหลดหน้าแก้ไขการโพสต์ได้อย่างมาก! จาก Advanced Custom Fields เวอร์ชั่น 5.6 การตั้งค่านี้จะถูกตั้งค่าเป็นจริงโดยค่าเริ่มต้น

Ref: https://www.advancedcustomfields.com/blog/acf-pro-5-6-0-ui-ux/

หากต้องการนำกล่องเมตาฟิลด์ที่กำหนดเองของ WordPress กลับมาคุณสามารถตั้งค่าตัวกรองนั้นกลับเป็นเท็จได้โดยเพิ่มบรรทัดต่อไปนี้ลงในไฟล์ฟังก์ชั่นธีมของคุณ

add_filter('acf/settings/remove_wp_meta_box', '__return_false');

โปรดทราบว่าคุณไม่จำเป็นต้องสร้างฟังก์ชั่นที่เรียกว่า__return_falseตัวกรองของคุณ WordPress มีฟังก์ชั่นหลักอยู่แล้ว__return_falseซึ่งไม่น่าแปลกใจที่ส่งกลับค่าบูลีนfalseเมื่อเรียกว่า

Ref: https://codex.wordpress.org/Function_Reference/_return_false

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