เปิดใช้งานการแจ้งเตือนการอัพเดทปิดการใช้งานการปรับปรุง


10

มีคำถามจำนวนมากเกี่ยวกับวิธีปิดใช้งานการอัปเดตและ / หรือลบการแจ้งเตือนการอัปเดต แต่โซลูชันทั้งหมดที่ปิดใช้งานการอัปเดตจะปิดใช้งานการแจ้งเตือนการอัปเดตด้วย

แต่ฉันต้องการปิดการใช้งานความเป็นไปได้ที่จะอัปเดตในขณะที่ยังคงได้รับแจ้งเกี่ยวกับการอัปเดตที่มีอยู่

ปัจจุบันฉันใช้define( 'DISALLOW_FILE_MODS', true ); Codex

ปัญหานี้คือมันไม่เพียง แต่ปิดการใช้งานกระบวนการปรับปรุง แต่ยังแจ้งเตือน

แก้ไข: โอเคฉันลงหลุมกระต่ายสักหน่อย ฉันเดาว่าฉันควรชี้แจงด้วยว่าฉันไม่ได้พูดถึงการอัพเดทหลัก แต่ยังรวมถึงปลั๊กอินและธีมด้วย

หากฉันเข้าใจอย่างถูกต้องนี่เป็นเพราะที่/wp-admin/includes/update.php:250ฟังก์ชันจะคืนค่าก่อนเวลา

ดังนั้นฉันเห็นสองตัวเลือก:

  • เพิ่มupdate_pluginsตัวเลือกซึ่งชนิดของการเอาชนะวัตถุประสงค์รวมทั้งฉันไม่แน่ใจว่าผลข้างเคียง
  • เพิ่มเบ็ดของตัวเองชนิดของจำลองadmin_init wp_plugin_update_rowsฉันลองมัน แต่มันก็ดูไม่เหมือนกันเลย ดูเหมือนจะมีอะไรมากกว่านี้อีกทั้งยังไม่รู้สึกเหมือนเป็นวิธีที่สะอาดในการทำเช่นนี้

แก้ไข: มีตั๋วที่ครอบคลุมปัญหานี้ในกรณีที่คุณรู้สึกอยากทำ: https://core.trac.wordpress.org/ticket/25219


จริงๆ? ฉันใช้สิ่งนั้นและฉันยังเห็นการแจ้งเตือนการอัปเดต มันบอกให้ฉัน "โปรดแจ้งผู้ดูแลเว็บไซต์"
Stephen Harris

ฉันอัพเดตคำถามของฉัน
Kraftner

1
ทำไมคุณไม่ใช้ wpremove หรือ infinitewp เช่นระบบเพื่อแจ้งเตือนการอัพเดท ด้วยสิ่งเหล่านี้คุณยังสามารถปิดการอัปเดตได้ ฉันใช้มันเอง
Robert hue

4
ขอบคุณ Robert สำหรับความคิด แต่นี่เป็นเพียงการพึ่งพาอื่นและยังไม่ตอบ แต่เพียงข้ามปัญหา / คำถามของฉัน
Kraftner

คำตอบ:


1

เพิ่มรหัสต่อไปนี้ในธีมลูกของคุณfunctions.phpหรือบรรจุเป็นปลั๊กอินที่กำหนดเองเพื่อเปิด / ปิดการใช้งาน:

add_action( 'wp_before_admin_bar_render', 'wpse161696_toolbar_menu' );
add_action( 'admin_menu', 'wpse161696_updates' );

function wpse161696_toolbar_menu() { // Remove update menu item from the toolbar
    global $wp_admin_bar;
    $wp_admin_bar -> remove_menu( 'updates' );
}

function wpse161696_updates() { // Remove all updating related functions
    remove_submenu_page( 'index.php', 'update-core.php' ); // Remove Update submenu
    // Redirect to Dashboard if update page is accessed
    global $pagenow;
    $page = array(
        'update-core.php',
        'update.php',
        'update.php?action=upgrade-plugin'
        );
    if ( in_array( $pagenow, $page, true ) ) {
        wp_redirect( admin_url( 'index.php' ), 301 );
        // wp_die( 'Updates are disabled.' ); // An error message can be displayed instead
        exit;
    }
}

สิ่งนี้จะให้บางสิ่งบางอย่างกับคุณ โดยจะลบลิงก์อัปเดตออกจากแถบด้านข้างและแถบเครื่องมือในแดชบอร์ดในขณะที่เปิดการแจ้งเตือนการอัปเดต

อย่างไรก็ตามการอัปเดตในตอนนี้จะยังคงแสดงอยู่ภายใต้ปลั๊กอินแต่ละตัวซึ่งจะอนุญาตให้ผู้ใช้ทำการอัปเดต:

ป้อนคำอธิบายรูปภาพที่นี่

ทางออกสำหรับสิ่งนี้คือการซ่อนลิงค์ผ่าน CSS ฉันไม่สามารถทำให้ส่วนนั้นทำงานได้ แต่เนื่องจากคำถามนี้เก่ามากฉันไม่ต้องการเสียเวลากับมันเช่นกัน ฉันรู้สึกว่าคำถามนี้จำเป็นต้องปิดมัน


ขอบคุณที่ดู แต่สิ่งที่คุณกำลังทำไม่ใช่สิ่งที่ฉันกำลังมองหา ก่อนอื่นสิ่งที่ซ่อนจากเมนูไม่ได้ลบ / ปิดการใช้งานจริง ถ้าคุณรู้ URL มันก็ยังอยู่ที่นั่น การเปลี่ยนเส้นทางก็เปราะบางเช่นกัน DISALLOW_FILE_MODSทำมากกว่าการบล็อกการอัพเดต การใส่การเปลี่ยนเส้นทางในadmin_menuที่ผิดด้วย นี่เป็นข้อบกพร่องหลักอย่างชัดเจนที่ต้องแก้ไขที่นั่น ทุกอย่างอื่นสกปรกและแฮ็กที่เปราะบาง ขอบคุณที่ลองใหม่;)
kraftner

การเปลี่ยนเส้นทางนั้นเปราะบางอย่างไร สิ่งที่ทำให้ทุกอย่างอื่นdirty?
Ethan Jinks O'Sullivan

อัพเดทใด ๆ ฉันต้องการทราบว่าอะไรทำให้การเปลี่ยนเส้นทางเปราะบางตัวอย่างจะช่วยให้ฉันเข้าใจดีขึ้น
Ethan Jinks O'Sullivan

ขอโทษที่ไม่ได้กลับมา "สกปรก" หมายถึงความจริงที่ว่านี้ควรได้รับการแก้ไขในหลัก ถ้อยคำของฉันมีความผิดหวังมากเกินไปเกี่ยวกับความจริงที่ว่ามันไม่ใช่ขอโทษด้วย "เปราะบาง" หมายถึงความจริงที่ว่านี้จะถือว่ามากเกินไปเช่น URL ของหน้าและอาจมีการเปลี่ยนแปลงทำลาย WP (เช่นการปรับปรุงเงาเพิ่งเกิดขึ้นผมไม่ทราบว่าสิ่งที่เปลี่ยนแปลงอาจจะ) สุดท้ายความกังวลหลักของฉันเป็นที่ฉันต้องการที่จะใช้DISALLOW_FILE_MODSสำหรับ เหตุผลอื่นเช่นกันเช่นปิดใช้งานเครื่องมือแก้ไข แต่การตั้งค่ามันtrueทำให้เกิดปัญหานี้ ขออภัยคำถามไม่ชัดเจน
Kraftner

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