একক প্লাগইনের জন্য অটো আপডেট বন্ধ করুন


10

আমার একটি প্লাগইন রয়েছে যা আমি জানি যে আমি কখনই আপডেট করতে চাই না। আমি সচেতন যে এটি সেরা অনুশীলন নয়, তবে এই ক্ষেত্রে এটি অবশ্যই করা উচিত। ওয়ার্ডপ্রেসকে কোনও নির্দিষ্ট প্লাগইন স্বয়ংক্রিয়ভাবে আপডেট করতে অনুরোধ করার কোনও উপায় নেই (তবে এখনও অন্য সমস্ত প্লাগইনগুলির জন্য স্বাভাবিক হিসাবে সতর্কতা অবলম্বন করা হবে)।


6
প্লাগইন এর প্রধান ফাইলের ভিতরে সংস্করণ নম্বর বাড়ান .. যেমন। 99.9... এবং ভাল পরিমাপ জন্য রিডমি ফাইল ভিতরে যে একই পরিবর্তন করতে (যদিও আমি মনে করি না যে আসলে প্রয়োজন হয়েছে) ..
t31os

যদি প্লাগইন এর সংস্করণ নম্বরগুলি এর মতো কিছুতে আপডেট করে তবে সংস্করণ নম্বরগুলি সমন্বয় করা এখনও কার্যকর হবে 1.10.1?
emc

উত্তর:


11

আপনি এটিকে আপনার থিমের ফাংশন.পিপিতে রাখুন

// 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' );

আপনার উত্তরে কেন গুগল +1 বোতামের কোড আছে তা আমি বুঝতে পারি না ... সম্ভবত একটি বাম
ওপরে

বাম দুঃখিত।
তারা

3
এই সমাধানটি অন্য কোনও প্লাগইন সক্ষম বা অক্ষম করার সময় একটি সতর্কতা ছুড়ে দেয়। Warning: Attempt to modify property of non-object in /home/XXXXXX/public_html/wp-content/themes/XXXXXXX/custom-functions.php on line 15
গুরুং

গুরু আপনি ডাব্লুপি এর কোন সংস্করণটি ব্যবহার করছেন?
ফেডমিচ

7

T31os এর উত্তরটি সঠিক ছিল: প্লাগইনের মূল ফাইলের ভিতরে সংস্করণ নম্বর বাড়ান .. যেমন। ৯৯.৯ ... এবং ভাল পরিমাপের জন্য রিডমি ফাইলের ভিতরেও একই পরিবর্তন করুন (যদিও আমি মনে করি না এটি আসলে দরকার) .. t31os


5

তারার উত্তরটি কার্যকরভাবে কাজ করার সময়, প্রোগ্রামারটিকে মূল প্লাগইন ফাইলের পথে প্রবেশ করতে হবে এবং নির্দিষ্ট থিমটি সক্ষম করার সময় এটি কেবল কার্যকরী হয়। একটি বিকল্প সমাধান এর মত দেখতে পারে:

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নকল ফাংশন নামগুলি এড়ানোর জন্য ফিল্টার এবং ফাংশনটির নামটি ভিন্ন এলোমেলো সংখ্যায় সেট করুন।

সম্ভাবনা হ'ল যদি আপনি কোনও নির্দিষ্ট প্লাগইনটির জন্য আপডেটগুলি অক্ষম করে থাকেন তবে এটি কোনও কারণে আপনি এটি সম্পাদনা করছেন ... সুতরাং সেই প্লাগইনে কয়েকটি অতিরিক্ত লাইন যুক্ত করা কার্যকর হবে।


1
এটি আমার মতে সেরা উত্তর, বিশেষত আপনি যদি আপডেটগুলি অক্ষম করছেন কারণ আপনি নিজেই প্লাগইন সম্পাদনা করছেন। ধন্যবাদ এমসি।
নাথান

3

আমি এই কোডটি ব্যবহার করার সময় অন্যান্য প্লাগইন ইনস্টল বা আপডেট করার সময় উপরে উল্লিখিত 'গুরুং'-এর মতো পিএইচপি সতর্কতা পাচ্ছিলাম। আমি ডাব্লুপি ৪.৩.১ এ পিএইচপি সতর্কতা দেখেছি।

আমি ইস্যুটি সম্পর্কে স্ট্যাক এক্সচেঞ্জে কিছু অন্যান্য পোস্ট পেয়েছি এবং আমি এমন একটি ফাংশন নিয়ে এসেছি যা আপনার প্লাগইন রেফারেন্সের অ্যারে থেকে বেরিয়ে আসে এবং ইতিমধ্যে সেই প্লাগইনটির কোনও রেফারেন্স রয়েছে কিনা তা পরীক্ষা করে দেখেছি (অ-অবজেক্টগুলির উপর পিএইচপি সতর্কতা এড়াতে যদি এটি না থাকে) এবং যদি কোনও বস্তু থাকে তবে এটি এটি মূল কোডের মতোই আনসেট করবে।

আমি ইউনিট পরীক্ষা করিনি তবে প্লাগইনগুলির প্রতিটি আপডেট / ইনস্টল সম্পর্কে পিএইচপি সতর্কতা পেয়েছিলাম এবং এখন আমি সেগুলি দেখতে পাচ্ছি না।

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' );

1

অথবা আপনি কেবল এটির নাম পরিবর্তন করেন যাতে এটি একই প্লাগইনটি 'নয়'।
আপনাকে কেবল ফোল্ডারটিই নয়, রিডমি এবং প্লাগইন শিরোনামেও নতুন নামকরণ করতে হবে।


1

আমি এনপিসির তারার কোড স্নিপ প্রয়োগের সাথে উত্তরাধিকার সূত্রে পেয়েছি, যা গুরুংয়ের মন্তব্যে ত্রুটি ছুঁড়েছে। আমাকে বাদাম চালাও আমি প্লাগিনে কোড সম্পাদনা করতে দ্বিধা বোধ করছিলাম, যতক্ষণ না আমি বুঝতে পারি যে স্নিপার যাইহোক কাস্টম is

ত্রুটিগুলি দূর করতে, এটি পরিবর্তন করুন:

unset($value->response[ plugin_basename(__FILE__) ]);

এটি:

if($value) {
    unset($value->response[ plugin_basename(__FILE__) ]);
}

এটি কারওর কাছে সুস্পষ্ট হতে পারে তবে মূলটি হ'ল এটি ইতিমধ্যে কাস্টম যাতে আপনি এটি সম্পাদনা করতে পারেন এবং সম্ভবত এটি আপডেট দ্বারা ওভাররাইট করা হবে না কারণ পুরো পয়েন্টটি আপনাকে প্লাগইন আপডেট করা থেকে বিরত রাখতে হবে।


0

আপনি কেবল প্লাগইন ফোল্ডারটির নাম পরিবর্তন করে আপডেটগুলি প্রতিরোধ করতে পারেন (বা, একক-ফাইল প্লাগইনের ক্ষেত্রে, সেই পিএইচপি ফাইলটির নাম পরিবর্তন করে)। এটি এখন পর্যন্ত সবচেয়ে সহজ সমাধান। তদ্ব্যতীত, এই পদ্ধতির বিষয়টি আপনাকে ভবিষ্যতের ডিভাসের সাথে স্বচ্ছ কোড পরিবর্তন করেছে, "ভবিষ্যত আপনি" সহ makes


0

মূল প্লাগইন ফাইলের একটি উচ্চতর সংস্করণ সেরা, তবে কেবল যখন একটি বিশেষ হ্যাক যুক্ত হয়। এটি একটি নাল / অপরিজ্ঞাত নম্বর কল করে এবং তারপরে সেই সংস্করণে থাকবে। উদাহরণ:

সংস্করণ:

এটি নিশ্চিত করবে যে ২১০০ সালে এটি 9.9.9 বা অন্য কিছুের পরে আপডেট হবে না। এটি পরিত্যক্ত প্লাগইনগুলির জন্য একটি সহজ পদ্ধতির যা কিছু সময় প্রতিস্থাপন করা হবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.