Bir eklentiyi yeniden adlandırırsam (ana php dosyasında) yine de güncelleme bildirimleri alabilir miyim?


17

Son zamanlarda bir eklentinin çekirdek dosyalarını düzenlemek zorunda kaldım. Söz konusu eklentinin başlığını düzenlediğini belirtmek için güncelledim.

Sorum şu: Eklenti hala güncelleme bildirimleri alacak mı? Öyleyse, birisinin güncellemelerimi unutmasını ve üzerine yazmasını önlemek için bu eklentinin güncellemelerini devre dışı bırakacağım.

İdeal olarak, eklentinin güncelleme alıp almadığını görmek istiyorum, ancak sadece güncelleme'yi tıklayarak bunların gerçekleşmesine izin vermiyorum. (kaldırılması ve yeniden yüklenmesi veya benzeri bir şey olması gerekir).


Bu sorun hakkında son zamanlarda WordPress Track: Bir eklenti / tema dizininin yedeklenmesi hakkında bir hata raporu gönderdim . Ben basit bir otomatik yedekleme içinde ama otomatik güncelleme özelliği önce herkes için çok daha kolay olacağını düşünüyorum. Otomatik güncelleme ilk kez yayınlandığında bunun yapılmamasının nedenlerini, neden bu arada yapılmadığını veya neden yapılmaması gerektiğini görmüyorum.
Ando

Yanıtlar:


17

SickHippie ve AFAIK'in dediği gibi, ikisine birden sahip olamazsınız. Bu Yığın'da topladığım bilgilerle bir cevap ekliyorum.


Ayrı eklentiler için güncelleme bildirimini devre dışı bırak

Bir Yorumda Bainternet:

Eklenti dosyasını açmanız ve sürüm numarasını 9.9.9 gibi bir şeyle değiştirmeniz yeterlidir.

Hameedullah Khan'ın Cevabı (Akismet güncelleme bildirimini kaldırılıyor):

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

Eklenti Güncelleme Uyarısını Neler tetikler?

Otto Yanıtı:

API, eklentileri bildiği eklentilerle eşleştirmek için oldukça ayrıntılı bir mekanizma kullanır, ancak bunlar kontrol edilen ana şeylerdir: Eklenti URI'si, Eklenti Adı ve Eklenti slug (eklentinin bulunduğu dizin adı)

Bunlardan herhangi birini değiştirin ve bir eşleşme bulma şansını azaltın, ancak bunlardan ikisi eşleşirse yine de elde edebilir.

Benioku.txt dosyasındaki bilgiler bunun için kullanılmaz. Eklentinin PHP dosyasının kendisinin başlığı kullanılır.


Alternatif yaklaşım 1


Alternatif yaklaşım 2 Yorumlardan alınmıştır

  • eklenti adını, sürüm numarasını ve dizin adını değiştirme
  • orijinal eklentiyi yükleyin ancak güncelleme bildirimlerini almak için devre dışı bırakın
  • eklenti açıklamasına özel bir mesaj ekleyin (veya orijinali değiştirin)
  • eklenti eylemlerini (Etkinleştir | Düzenle | Sil) ve Toplu İşlemler onay kutusunu kaldırın

resim açıklamasını buraya girin

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
}

İlgili Biletler


Müthiş cevap! Belki de eklenti adını, sürüm numarasını ve dizin adını değiştireceğim ve ardından orijinal eklentiyi yükleyeceğim, ancak güncellendiğinde görebilmem için devre dışı bırakacağım.
Zach Lysobey

1
@ZachL - Mükemmel! Bu iyi çalışmalı!
SickHippie

2
Ayrıca orijinal eklenti üstbilgisini değiştirebilir ve aşağıdaki Descriptiongibi bazı bildirimler ekleyebilirsiniz:Description: ONLY FOR REFERENCE, DON'T ACTIVATE!...[rest of the description]
brasofilo

1
@ZachL - Bu
yoruma

3

Güncelleştirmeleri devre dışı bırakamazsınız, ancak bildirimleri güncelleyemezsiniz; bunlar birbirine bağlıdır.

Bildirimleri tamamen devre dışı bırakmak için eklentinin bulunduğu klasör adını değiştirin.

Kişisel yöntemim, ana plugin.phpdosyadaki eklentinin başlığına 3 a's ekliyor , bu yüzden eklenti listemde görüyorum AAA/Plugin Name. Bu, referans için listenin en üstüne yerleştirir ve eklenti listesinde ve güncelleme listesinde gösterilir. Temel olarak kişisel bir bayrak, bu yüzden bu belirli eklentileri otomatik güncellememeyi biliyorum.


Yanıtınız için teşekkürler. Sadece açıklığa kavuşturmak için, bir eklentiyi yeniden adlandırmanın güncelleme bildirimlerini durdurmadığını mı söylüyorsunuz?
Zach Lysobey

İlk cümlenize gelince ... Eminim bu etkiyi elde etmenin bir yolunu bulabilirim, belki de sadece sinsi js ile bağlantıyı bildirimden kaldırmak için.
Zach Lysobey

AFAIK, bir eklentinin ana dosyasını veya ana dosyadaki başlığını yeniden adlandırmak güncelleme bildirimlerini durdurmaz. Eklenti Deposu'nun klasör adına (Repo'dan indirilen zip'in aynı ada ve sürüm numarasına sahip olması gerekir) oldukça eminim. Güncellemeyi devre dışı bırakmak için eklenti listesi ve güncellemeler listesi vardır, bu nedenle JS'nizin her iki yerde de tetiklendiğinden emin olun (ayrıca, JS'yi paylaşın - yararlı olabilir).
SickHippie
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.