এবং আমার কোনটি ব্যবহার করা উচিত?
অপশন এপিআই এবং সেটিং এপিআই এর মধ্যে পার্থক্য কী ?
আমার 100 টিরও বেশি অ্যাডমিন অপশন সহ একটি থিম রয়েছে, আমি কীভাবে তাদের নিবন্ধন করব এবং সংরক্ষণ করব? এই মুহুর্তে আমি অপশন এপিআই ব্যবহার করছি তবে আমি এতে খুব বেশি খুশি নই, প্রতিটি একক বিকল্প আলাদাভাবে নিবন্ধিত হচ্ছে যাতে তারা প্রচুর ডাটাবেস অনুসন্ধান তৈরি করে।
আমি এই মুহুর্তে ওয়ার্ডপ্রেস অপশন / সেটিংস সঞ্চয় করার তিনটি উপায় দেখতে পাচ্ছি:
1. বিকল্পসমূহ API - পুরানো (সবচেয়ে খারাপ?) উপায় way
(আমি এটি ইতিমধ্যে ব্যবহার করছি)
<form method="post" action="options.php">
<?php wp_nonce_field('update-options'); ?>
// all the inputs
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="option1,option2,option3,..." />
<p class="submit">
<input type="submit" value="<?php _e('Save Changes') ?>" />
</p>
</form>
এবং তারপরে সামনের প্রান্তে:
echo get_option('option1');
কুরুচিপূর্ণ দেখায় এবং আমি মনে করি না যে এটি বিপুল সংখ্যক বিকল্পগুলি সংরক্ষণ করার সঠিক উপায় (আমি তাদের কোনওভাবে গ্রুপ করতে চাই)।
২. অপশন এপিআই - একটি বড় অ্যারে হিসাবে 1 টি বিকল্প।
আমি নিশ্চিত নই যে এইচটিএমএল ফর্মগুলি ব্যবহার করে এই অ্যারেটি কীভাবে আপডেট করবেন? আমি বিশ্বাস করি এটির মতো হওয়া উচিত:
$opt['option1'] = foo
$opt['option2'] = foo
$opt['option3'] = bar
update_option('theme_settings',$opt);
এবং তারপরে সামনের দিকে:
$settings = get_option('theme_settings');
echo $settings['option1'];
echo $settings['option2'];
echo $settings['option3'];
আমি শুনেছি এটি সত্যিই প্রশ্নের সংখ্যা হ্রাস পেয়েছে এবং আমি সেগুলি একটি বিকল্প হিসাবে পেয়েছি। আমি এটি ব্যবহার করতে চাই তবে আমি উপরে উল্লিখিত হিসাবে আমি কীভাবে ওয়ার্ডপ্রেস অ্যাডমিন ফর্মের মধ্যে বিকল্পগুলির এই অ্যারেটি আপডেট করবেন তা নিশ্চিত নই। আমার ধারণা: <input type="hidden" name="theme_settings" value="option1,option2,option3,..." />
নতুন উপাদান যুক্ত করার পরিবর্তে অ্যারে ওভাররাইট করা হবে?
3. সেটিংস এপিআই - নতুন উপায়।
অতিরিক্ত কোড প্রচুর প্রয়োজন:
function register_theme_settings() {
//register our settings
register_setting( 'theme-settings', 'option1' );
register_setting( 'theme-settings', 'option2' );
register_setting( 'theme-settings', 'option3' );
register_setting( 'theme-settings', 'option4' );
register_setting( 'theme-settings', 'option5' );
// imagine this for 100 and more options
};
এবং আমি নিশ্চিত নই যে এইটি এবং পদ্ধতির মধ্যে অ্যারে হিসাবে একটি বিকল্পের সাথে কী পার্থক্য রয়েছে?
TL; ড সুতরাং, আমি আমার থিম সেটিংস স্টোরেজ প্রকল্প তাই এটি করা হবে না উচিত দ্রুত কাজ এবং সংরক্ষণ সমস্ত বিকল্প / সেটিংস এক জায়গায় তাই আমি, উদাহরণস্বরূপ, প্রতিধ্বনি / তাদের সবাইকে এক সহজ ফাংশন ডাম্প সক্ষম হবে (হ্যাঁ , আমি এটি খারাপভাবে করতে চাই তবে এই সেটিংস এপিআই দিয়ে কীভাবে করব তা আমার কোনও ধারণা নেই)। দ্বিতীয় পদ্ধতিটি এখনও অবধি সেরা দেখাচ্ছে।