থিম অপশনের পরে রান ফাংশনটি সংরক্ষণ করা হবে?


10

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

সম্পাদনা -

আমার এই সেটিংটি আমি তৈরি করেছি তাই:

add_settings_section(
    'kjd_body_background_settings_section', // ID hook name
    null, // label
    null, // function name
    'kjd_body_background_settings' // page name
);


    add_settings_field(
        'kjd_body_background_colors', // ID hook name
        null, //label
        null, //callback
        'kjd_body_background_settings', // page name
        'kjd_body_background_settings_section' // parent section 
);

এবং এই ফাংশন:

function kjd_update_stylesheet( $oldvalue, $_newvalue ){
   echo 'updated!';
   die();
}
add_action('update_options_kjd_body_background_settings','kjd_update_stylesheet',10, 2);

//add_action('update_options_kjd_body_background_colors','kjd_update_stylesheet',10, 2);

উত্তর:


18

ফিল্টার ব্যবহার করুন update_option_{$option}। এটি সফল সাশ্রয়ের পরে চলে।

$option এটি আপনার বিকল্পের নাম এবং আপনি পরামিতি হিসাবে পুরানো এবং নতুন মান পাবেন।

থেকে wp-includes/option.php:

do_action( "update_option_{$option}", $oldvalue, $_newvalue );

কোনও বিকল্পের জন্য এটি এর মতো ব্যবহার করুন wpse_themesettings:

add_action( 'update_option_wpse_themesettings', 'wpse_check_settings', 10, 2 );

function wpse_check_settings( $old_value, $new_value )
{
    // do something
}

হুমমম ঠিক আছে. সুতরাং আমার কাছে যদি কয়েক ডজন অপশন থাকে, কয়েক ডজন পৃষ্ঠা / বিকল্প গ্রুপের উপর আমি একই পৃষ্ঠাতে প্রতিটি পৃষ্ঠার জন্য একটি লুকানো বিকল্প তৈরি করতে পারি?
রাগবার্ট

না, আপনি যে বিকল্পগুলি সংরক্ষণ করতে চান তার নাম ব্যবহার করুন। কোনও অতিরিক্ত লুকানো বিকল্প নেই।
ফুসিয়া

হ্যাঁ আমি সেই কাজটি নিয়ে যাওয়ার কথা ভেবেছিলাম এবং বলেছিলাম "দুহ"! যদিও উত্তরের জন্য ধন্যবাদ, আপনি আমার প্রকল্পটি মাত্র 100% আরও ভয়ঙ্কর করে
তুলেছেন

আরে, ঠিক তাই আমরা পরিষ্কার। আপনি যখন আপডেট_পশন use $ বিকল্পটি ব্যবহার করতে বলছেন তখন আপনি রেজিস্টার_সেটিংস () ফাংশনে $ পৃষ্ঠার যুক্তিটি বোঝাচ্ছেন? যেমন add_settings_field( $id, $title, $callback, $page, $section, $args ); বা এটি আইডি নাম?
রাগবার্ট

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