หากฉันเปลี่ยนชื่อปลั๊กอิน (ในไฟล์ php หลัก) ฉันจะยังคงได้รับการแจ้งเตือนการอัปเดตหรือไม่


17

ฉันเพิ่งถูกบังคับให้แก้ไขไฟล์หลักของปลั๊กอิน ฉันได้อัปเดตชื่อปลั๊กอินดังกล่าวเพื่อระบุว่าได้รับการแก้ไขแล้ว

คำถามของฉันคือปลั๊กอินจะยังคงได้รับการแจ้งเตือนการปรับปรุง? ถ้าเป็นเช่นนั้นฉันจะปิดใช้งานการอัปเดตสำหรับปลั๊กอินนี้เพื่อป้องกันไม่ให้ใครบางคนลืมเกี่ยวกับการอัปเดตและการเขียนทับของฉัน

โดยหลักการแล้วฉันต้องการดูว่าปลั๊กอินได้รับการอัปเดตหรือไม่ แต่อนุญาตให้เกิดขึ้นได้เพียงคลิกอัปเดต (มันจะต้องมีการถอนการติดตั้งและติดตั้งใหม่หรือคล้ายกัน)


เกี่ยวกับปัญหานี้ฉันเพิ่งโพสต์รายงานข้อผิดพลาดใน WordPress Track: การสำรองข้อมูลของไดเรกทอรีปลั๊กอิน / ชุดรูปแบบ ฉันคิดว่าการสำรองข้อมูลอัตโนมัติอย่างง่าย ๆ อยู่ข้างใน แต่ก่อนที่คุณสมบัติการอัปเดตอัตโนมัติจะทำให้ทุกคนง่ายขึ้น ฉันไม่เห็นสาเหตุใด ๆ ที่ทำให้สิ่งนี้ไม่ได้เกิดขึ้นเมื่อการอัปเดตอัตโนมัติเปิดตัวเป็นครั้งแรกหรือสาเหตุที่ไม่ได้ทำในขณะนั้นหรือทำไมจึงไม่ควรทำ
Ando

คำตอบ:


17

ดังที่ SickHippie พูดและ AFAIK คุณไม่มีทั้งคู่ ฉันกำลังเพิ่มคำตอบด้วยข้อมูลที่ฉันรวบรวมในสแต็กนี้


ปิดใช้งานการแจ้งเตือนการอัปเดตสำหรับปลั๊กอินแต่ละรายการ

Bainternet ในความคิดเห็น:

เพียงแค่เปิดไฟล์ปลั๊กอินและเปลี่ยนหมายเลขเวอร์ชันเป็น 9.9.9

คำตอบของ Hameedullah Khan (ลบการแจ้งเตือนการอัปเดต Akismet):

function filter_plugin_updates( $value ) {
    unset( $value->response['akismet/akismet.php'] );
    return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );

สิ่งที่ทำให้การแจ้งเตือนการปรับปรุงปลั๊กอิน

คำตอบของอ็อตโต:

API ใช้กลไกที่ค่อนข้างซับซ้อนในการจับคู่ปลั๊กอินกับปลั๊กอินที่รู้เกี่ยวกับสิ่งเหล่านี้ แต่สิ่งเหล่านี้เป็นสิ่งสำคัญที่ตรวจสอบ: ปลั๊กอิน URI, ชื่อปลั๊กอินและปลั๊กอินกระสุน (ชื่อไดเรกทอรีที่ปลั๊กอินอยู่)

เปลี่ยนสิ่งเหล่านี้และคุณลดโอกาสในการหาคู่ แต่มันอาจจะได้ถ้าคู่นั้นตรงกัน

ข้อมูลใน readme.txt ไม่ได้ใช้สำหรับสิ่งนี้ ส่วนหัวของไฟล์ PHP ของปลั๊กอินนั้นถูกใช้งาน


วิธีการทางเลือก 1

  • ปรับเปลี่ยนปลั๊กอินเพื่อตรวจสอบการอัปเดตในพื้นที่เก็บข้อมูลที่กำหนดเองของคุณ
  • คุณจะต้องติดตามการอัพเดทปลั๊กอินดั้งเดิมไม่ว่าจะเป็นการเยี่ยมชม Repo อย่างเป็นทางการอย่างสม่ำเสมอหรือติดตั้งดั้งเดิมในการติดตั้ง WordPress อื่น ๆ
  • เมื่อคุณตัดสินใจว่าจะต้องอัปเดตปลั๊กอินของคุณให้คอมมิทไปที่ Repo แล้วคุณจะได้รับการแจ้งเตือน
  • บทช่วยสอน: http://wp.tutsplus.com/tutorials/plugins/a-guide-to-the-wordpress-http-api-automatic-plugin-updates/
  • หนังสือพัฒนาปลั๊กอิน WordPress ระดับมืออาชีพโดยแบรดวิลเลียมส์โอริชาร์ดและจัสตินแทลล็อคมีบทเกี่ยวกับเรื่องนี้ ป้อนคำอธิบายรูปภาพที่นี่

ทางเลือกวิธีที่ 2 ดึงมาจากความคิดเห็น

  • เปลี่ยนชื่อปลั๊กอินหมายเลขรุ่นและชื่อไดเรกทอรี
  • ติดตั้งปลั๊กอินดั้งเดิม แต่ปล่อยทิ้งไว้เพื่อรับการแจ้งเตือนการอัปเดต
  • เพิ่มข้อความที่กำหนดเองลงในคำอธิบายปลั๊กอิน (หรือแทนที่ต้นฉบับ)
  • ลบการกระทำของปลั๊กอิน (เปิดใช้งาน | แก้ไข | ลบ) และช่องทำเครื่องหมายสำหรับการกระทำเป็นกลุ่ม

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

add_filter( 'all_plugins', 'wpse_56968_on_list_plugins' );
add_filter( 'plugin_action_links_akismet/akismet.php', 'wpse_56968_remove_plugin_actions', 10, 4 );
add_action( 'admin_head-plugins.php', 'wpse_56968_remove_plugin_checkbox' );

function wpse_56968_on_list_plugins( $plugins )
{
    $plugins['akismet/akismet.php']['Description'] = '<strong>*** NOTICE: PLUGIN ONLY TO CHECK UPDATES IN THE ORIGINAL ONE! ***</strong> ';// . $plugins['akismet/akismet.php']['Description'];
    return $plugins;
}

function wpse_56968_remove_plugin_actions( $actions, $plugin_file, $plugin_data, $context ) 
{
    unset( $actions['activate'], $actions['edit'], $actions['delete'] );
    return $actions; 
}

function wpse_56968_remove_plugin_checkbox()
{
    ?>
        <script type="text/javascript">
            jQuery(document).ready( function($) {
                $('tr#akismet th.check-column').html('&nbsp;')
            });     
        </script>
    <?php
}

ตั๋วหลักที่เกี่ยวข้อง


คำตอบที่ยอดเยี่ยม! บางทีฉันจะเปลี่ยนชื่อปลั๊กอินหมายเลขรุ่นและชื่อไดเรกทอรีแล้วติดตั้งปลั๊กอินดั้งเดิม แต่ปล่อยให้มันปิดการใช้งานเพื่อให้ฉันสามารถดูได้เมื่อมีการปรับปรุง
Zach Lysobey

1
@ZachL - ยอดเยี่ยม! ที่ควรจะทำงานได้ดี!
SickHippie

2
คุณยังสามารถแก้ไขส่วนหัวของปลั๊กอินดั้งเดิมDescriptionและเพิ่มประกาศบางอย่างเช่น:Description: ONLY FOR REFERENCE, DON'T ACTIVATE!...[rest of the description]
brasofilo

1
@ZachL - เพิ่มทางเลือกที่สองเต็มรูปแบบตามความคิดเห็นนี้ :)
brasofilo

3

คุณไม่สามารถปิดการใช้งานการอัปเดต แต่ไม่ได้อัปเดตการแจ้งเตือน - พวกเขาเชื่อมโยงกัน

หากต้องการปิดใช้งานการแจ้งเตือนทั้งหมดให้เปลี่ยนชื่อโฟลเดอร์ที่ปลั๊กอินตั้งอยู่

วิธีการส่วนตัวของฉันคือย่อหน้าที่ 3 ของการใช้ชื่อของปลั๊กอินในหลักที่ไฟล์เพื่อให้ในรายการปลั๊กอินของฉันที่ฉันเห็นplugin.php AAA/Plugin Nameสิ่งนี้จะวางไว้ที่ด้านบนของรายการสำหรับการอ้างอิงและจะแสดงในรายการปลั๊กอินและในรายการอัปเดต เป็นพื้นธงส่วนบุคคลดังนั้นฉันรู้ว่าจะไม่อัปเดตปลั๊กอินเหล่านั้นโดยอัตโนมัติ


ขอบคุณสำหรับคำตอบ เพื่ออธิบายให้ชัดเจนคุณกำลังบอกว่าการเปลี่ยนชื่อปลั๊กอินไม่หยุดการแจ้งเตือนการอัปเดตหรือไม่
Zach Lysobey

สำหรับประโยคแรกของคุณ ... ฉันแน่ใจว่าฉันสามารถหาวิธีที่จะบรรลุผลนี้อาจมี js ส่อเสียดเพื่อลบลิงค์จากการแจ้งเตือน
Zach Lysobey

AFAIK การเปลี่ยนชื่อไฟล์หลักหรือชื่อเรื่องของปลั๊กอินในไฟล์หลักนั้นไม่หยุดการแจ้งเตือนการอัพเดท ฉันค่อนข้างแน่ใจว่าดึงที่เก็บปลั๊กอินขึ้นอยู่กับชื่อโฟลเดอร์ (ซิปที่ดาวน์โหลดจาก Repo ควรมีชื่อเดียวกันกับหมายเลขเวอร์ชั่น) สำหรับการปิดใช้งานการอัปเดตมีรายการปลั๊กอินและรายการอัปเดตดังนั้นโปรดตรวจสอบให้แน่ใจว่า JS ของคุณเริ่มทำงานในทั้งสองแห่ง (และแชร์ว่า JS - อาจมีประโยชน์)
SickHippie
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.