ฉันมีปลั๊กอินที่ฉันรู้ว่าฉันไม่ต้องการอัปเดต ฉันรู้ว่านี่ไม่ใช่วิธีปฏิบัติที่ดีที่สุด แต่ในกรณีนี้จะต้องทำ มีวิธีใดบ้างที่จะหยุด WordPress ไม่ให้ฉันอัปเดตปลั๊กอินเฉพาะโดยอัตโนมัติ (แต่ยังคงเตือนตามปกติสำหรับปลั๊กอินอื่น ๆ ทั้งหมด)
1.10.1
ใด
ฉันมีปลั๊กอินที่ฉันรู้ว่าฉันไม่ต้องการอัปเดต ฉันรู้ว่านี่ไม่ใช่วิธีปฏิบัติที่ดีที่สุด แต่ในกรณีนี้จะต้องทำ มีวิธีใดบ้างที่จะหยุด WordPress ไม่ให้ฉันอัปเดตปลั๊กอินเฉพาะโดยอัตโนมัติ (แต่ยังคงเตือนตามปกติสำหรับปลั๊กอินอื่น ๆ ทั้งหมด)
1.10.1
ใด
คำตอบ:
คุณวางสิ่งนี้ลงในฟังก์ชั่นของธีมของคุณ
// Disable update notification for individual plugins - see my example of plugin block-spam-by-math-reloaded as to how to use this function
function filter_plugin_updates( $value ) {
unset( $value->response['plugin-folder-name/plugin-file-name.php'] );
return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
Warning: Attempt to modify property of non-object in /home/XXXXXX/public_html/wp-content/themes/XXXXXXX/custom-functions.php on line 15
คำตอบของ T31os ถูกต้อง: เพิ่มหมายเลขรุ่นในไฟล์หลักของปลั๊กอิน .. เช่น 99.9 ... และยังทำให้การเปลี่ยนแปลงเดียวกันนั้นในไฟล์ readme สำหรับการวัดที่ดี (แม้ว่าฉันไม่คิดว่ามันจำเป็นจริง ๆ ) .. - t31os
แม้ว่าคำตอบของ Tara จะทำงานได้ดี แต่ก็ต้องให้โปรแกรมเมอร์ป้อนเส้นทางไปยังไฟล์ปลั๊กอินหลักและจะสามารถใช้งานได้เฉพาะเมื่อเปิดใช้งานชุดรูปแบบนั้น ทางเลือกอื่นอาจมีลักษณะเช่นนี้:
add_filter('site_transient_update_plugins', 'remove_update_notification_1234');
function remove_update_notification_1234($value) {
unset($value->response[ plugin_basename(__FILE__) ]);
return $value;
}
รุ่นหนึ่งบรรทัด:
add_filter('site_transient_update_plugins', function ($value) { unset($value->response[ plugin_basename(__FILE__) ]);return $value; });
วางรหัสนี้ที่ด้านบนของ.php
ไฟล์หลักของปลั๊กอินที่คุณต้องการปิดการใช้งาน หากคุณวางแผนที่จะใช้สิ่งนี้มากกว่าหนึ่งครั้งในเว็บไซต์ของคุณเปลี่ยน_1234
ในตัวกรองและชื่อฟังก์ชั่นเป็นชุดของตัวเลขสุ่มที่แตกต่างกันเพื่อหลีกเลี่ยงชื่อฟังก์ชันที่ซ้ำกัน
มีโอกาสที่ถ้าคุณปิดการใช้งานการอัปเดตสำหรับปลั๊กอินบางอันอาจเป็นเพราะคุณกำลังแก้ไขด้วยเหตุผลบางประการ ... ดังนั้นการเพิ่มบรรทัดเพิ่มเติมเล็กน้อยลงในปลั๊กอินนั้นควรเป็นไปได้
ฉันได้รับคำเตือน PHP เช่น 'gurung' ที่กล่าวถึงข้างต้นเมื่อฉันติดตั้งหรืออัปเดตปลั๊กอินอื่น ๆ เมื่อฉันใช้รหัสนี้ ฉันเห็นคำเตือนของ PHP ใน WP 4.3.1
ฉันพบโพสต์อื่น ๆ ใน stackexchange เกี่ยวกับปัญหาและฉันมาพร้อมกับฟังก์ชั่นที่วนรอบการอ้างอิงปลั๊กอินของคุณและตรวจสอบก่อนเพื่อดูว่ามีการอ้างอิงปลั๊กอินนั้นแล้วหรือไม่ (เพื่อหลีกเลี่ยงคำเตือน PHP ในวัตถุที่ไม่ใช่วัตถุ ถ้าไม่มี) และถ้ามีวัตถุมันจะไม่ล้างมันเหมือนรหัสต้นฉบับ
ฉันยังไม่ได้ทำการทดสอบหน่วย แต่ได้รับคำเตือน PHP ในทุกการอัปเดต / ติดตั้งปลั๊กอินและตอนนี้ฉันไม่เห็นพวกเขา
function filter_plugin_updates( $value ) {
// Add references to plugins you want to disable update notices for in the $plugins array
$plugins = array(
'k-elements/setup.php'
);
foreach( $plugins as $plugin ) {
if ( isset( $value->response[$plugin] ) ) {
unset( $value->response[$plugin] );
}
}
return $value;
}
add_filter( 'site_transient_update_plugins', 'filter_plugin_updates' );
หรือคุณเพียงแค่เปลี่ยนชื่อมันเป็น 'ไม่ใช่' ปลั๊กอินเดียวกัน
คุณต้องเปลี่ยนชื่อไม่เพียง แต่โฟลเดอร์ แต่ยังอยู่ในส่วนหัวของ readme และ plugin
ฉันสืบทอดไซต์ที่มีการติดตั้งโค้ด snip ของ npc ซึ่งทำให้เกิดข้อผิดพลาดต่อความคิดเห็นของ gurung ผลักฉันถั่ว ฉันลังเลที่จะแก้ไขโค้ดในปลั๊กอินจนกว่าฉันจะรู้ว่า snipper นั้นเป็นแบบกำหนดเองอยู่แล้ว
หากต้องการกำจัดข้อผิดพลาดให้เปลี่ยนสิ่งนี้:
unset($value->response[ plugin_basename(__FILE__) ]);
สำหรับสิ่งนี้:
if($value) {
unset($value->response[ plugin_basename(__FILE__) ]);
}
อาจมีบางคนที่เห็นได้ชัด แต่ที่สำคัญคือมันถูกกำหนดเองแล้วเพื่อให้คุณสามารถแก้ไขได้และมันอาจจะไม่ถูกเขียนทับโดยการปรับปรุงเพราะประเด็นทั้งหมดคือการป้องกันไม่ให้คุณอัปเดตปลั๊กอิน
คุณสามารถป้องกันการอัพเดทง่ายๆโดยการเปลี่ยนชื่อโฟลเดอร์ปลั๊กอิน (หรือในกรณีของปลั๊กอินไฟล์เดียวให้เปลี่ยนชื่อไฟล์ PHP นั้น) นี่คือทางออกที่ง่ายที่สุด นอกจากนี้วิธีนี้ทำให้ความจริงที่ว่าคุณเปลี่ยนรหัสโปร่งใสเป็น devs ในอนาคตรวมถึง "อนาคตคุณ"
เวอร์ชันที่สูงกว่าในไฟล์ปลั๊กอินหลักนั้นดีที่สุด แต่เมื่อเพิ่มแฮ็คพิเศษเท่านั้น มันเรียกหมายเลข null / undefined แล้วจะยังคงอยู่ในรุ่นนั้น ตัวอย่าง:
เวอร์ชัน:
สิ่งนี้จะช่วยให้มั่นใจได้ว่าในปี 2100 จะไม่มีการอัปเดตหลังจาก 9.9.9 หรืออะไรทำนองนั้น มันเป็นวิธีการง่ายๆสำหรับปลั๊กอินที่ถูกทอดทิ้งซึ่งบางครั้งจะถูกแทนที่
99.9
... และยังทำให้การเปลี่ยนแปลงเดียวกันในไฟล์ readme วัดดี (แต่ฉันไม่คิดว่ามันจำเป็นจริง ๆ ) ..