কীভাবে নতুন ক্রিয়া সহ বিদ্যমান প্লাগইন ক্রিয়াকে ওভাররাইড করবেন


18

আমি একটি প্লাগইন ব্যবহার করছি। এটি এর মত একটি ক্রিয়া আছে।

add_action('publish_post', 'old_action');
function old_action($pid) {
    "code goes here"
    }
}

আমি এই প্লাগইনটির জন্য একটি মডিউল লিখছি। সুতরাং আমার পুরানো অ্যাকশন ফাংশনটি আমার নতুন অ্যাকশন ফাংশনটিতে ওভাররাইড করা দরকার।

এটি আমার নতুন ফাংশন।

function new_action($pid) {
      "code goes here"
        }
    }

আমি সেই পুরানো_অ্যাকশনটি হুক ব্যবহার করে আমার নতুন_অ্যাকশন ফাংশনটির সাথে প্রতিস্থাপন করতে চাই। আমাকে কি কেউ সাহায্য করতে পারবেন?

ধন্যবাদ

উত্তর:


33

আপনি এই remove_action()ফাংশনটি ব্যবহার করতে পারেন :

remove_action('publish_post', 'old_action');
add_action('publish_post', 'new_action');

এটি লক্ষণীয় গুরুত্বপূর্ণ যে যদি পুরানো_অ্যাকশনটিকে অগ্রাধিকারের প্যারামিটারের সাথে যুক্ত করা হয় তবে আপনাকে অবশ্যই এটি remove_actionকলটিতে যুক্ত করতে হবে , অন্যথায় এটি মুছে ফেলতে ব্যর্থ হবে। যদি ক্লাসের মধ্যে পুরানো_অ্যাকশন যুক্ত করা হয় তবে অন্যান্য বিষয়ও রয়েছে। আরও তথ্যের জন্য এখানে দেখুন ।


3
+1 স্পষ্টতার সাথে যে অপসারণটি ফাংশনটি মুছে ফেলার পরে যুক্ত করা আবশ্যক তার পরে অবশ্যই তাকে ডাকা উচিত।
স্টিফেন হ্যারিস

2
'after_setup_theme' অপসারণ_অ্যাকশন জন্য একটি ভাল জায়গা বলে মনে হচ্ছে। দেখুন: ওয়ার্ডপ্রেস.সটাকেক্সচেঞ্জ / প্রশ্ন / ১
০7063//
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.