আপডেট_ইউজার_মেটা এবং আপডেট_উজার_অপশন মধ্যে পার্থক্য


11

যে কেউ ব্যাখ্যা করতে পারবেন পার্থক্য কি update_user_metaএবং update_user_optionএবং যার পরিস্থিতিতে উভয় ব্যবহার করা যাবে?

উত্তর:


8

সাধারণ লোকের দিক থেকে কোনও বড় পার্থক্য নেই! অভ্যন্তরীণভাবে update_user_option()ব্যবহার update_user_meta()করে। পার্থক্য হ'ল update_user_option()বিকল্পটি নাম উপাত্তের সাথে ডাটাবেস সারণি উপসর্গ + ব্লগ আইডি যদি আপনি মাল্টিসাইটে থাকেন এবং কেবল একক সাইট ইনস্টলেশনতে থাকলে কেবল সারণি উপসর্গ হয়।

এর কোডটি একবার দেখুন update_user_option()

/**
 * Update user option with global blog capability.
 *
 * User options are just like user metadata except that they have support for
 * global blog options. If the 'global' parameter is false, which it is by default
 * it will prepend the WordPress table prefix to the option name.
 *
 * Deletes the user option if $newvalue is empty.
 *
 * @since 2.0.0
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param int    $user_id     User ID.
 * @param string $option_name User option name.
 * @param mixed  $newvalue    User option value.
 * @param bool   $global      Optional. Whether option name is global or blog specific.
 *                            Default false (blog specific).
 * @return int|bool User meta ID if the option didn't exist, true on successful update,
 *                  false on failure.
 */
function update_user_option( $user_id, $option_name, $newvalue, $global = false ) {
    global $wpdb;

    if ( !$global )
        $option_name = $wpdb->get_blog_prefix() . $option_name;

    return update_user_meta( $user_id, $option_name, $newvalue );
}

আপনার বিকল্পের নামটি টেবিল উপসর্গ + ব্লগ আইডি সহ উপসর্গযুক্ত (কেবল যখন আইডি 1 এবং 0 এর বাইরে থাকে)।

আপনি শেষ প্যারামিটার সেট করেন তাহলে $globalথেকে trueএটা দিয়ে কোন পার্থক্য আছে update_user_meta()

update_user_option()কার্যের উদ্দেশ্য

অন্যান্য টেবিলের মতো নয়, ওয়ার্ডপ্রেস প্রতিটি সাইটের জন্য ব্যবহারকারীর জন্য পৃথক টেবিল তৈরি করে না। এটি সমস্ত ব্লগের (মাল্টিসাইটে) এক ব্যবহারকারীর তথ্য সারণীতে ব্যবহারকারীর তথ্য সংরক্ষণ করে। এটি blog prefixব্লগ আইডি 4 wp_capabilitiesযেমন উদাহরণস্বরূপ প্রতিটি সাইটের মূল নামের উপসর্গ হিসাবে সংরক্ষণ করা হয় wp_4_capabilities

সুতরাং আপনি যে কোনও তথ্য ব্যবহার করে সংরক্ষণ করবেন update_user_option(), উদাহরণস্বরূপ মাল্টিসাইটে বা একক সাইট ইনস্টলেশনতে মূল সাইটের key_name_abcহয়ে যাবে wp_key_name_abc। ভবিষ্যতে আপনি যদি আপনার একক সাইটটিকে মাল্টিসাইটে রূপান্তর করেন তবে তথ্যটি কেবলমাত্র মূল সাইটেই পাওয়া যাবে।

আপনি যখন মনে করেন কিছু তথ্য সাইট + ব্যবহারকারীর উপরও নির্ভর করে তখন এই ফাংশনটি ব্যবহার করুন। নাম, ইমেল ইত্যাদির মতো নয় কারণ এই তথ্যগুলি ব্যবহারকারী এবং সাইটের স্বতন্ত্র।


7

উভয়ই তাদের ডেটা "ইউজারমেটা" টেবিলটিতে লেখেন। ইউজারমেটা সারণীতে সংরক্ষিত ব্যবহারকারীর বিকল্পগুলি ওয়ার্ডপ্রেস টেবিলের উপসর্গ যেমন ডাব্লুপিপি_ ধরে রাখে যখন ব্যবহারকারী মেটাও ব্যবহারকারীর মেটাতে সঞ্চিত থাকে না।

ব্যবহারকারীর বিকল্পগুলি ব্লগ-নির্দিষ্ট বিকল্পগুলিকে সমর্থন করে, মাল্টসাইটে দরকারী। ব্যবহারকারী মেটা প্রোফাইল সম্পর্কিত তথ্যের মতো ব্যবহারকারী আইডি নির্দিষ্ট মেটা ডেটা ভিত্তিক।

প্যারামিটারগুলি বাস্তবে বেশ আলাদা। ব্যবহারকারীর বিকল্পের $ ব্যবহারকারী_আইডি, $ বিকল্প_নাম, $ নতুন মূল্য, $ গ্লোবাল এবং ব্যবহারকারী মেটাতে $ ব্যবহারকারী_আইডি, $ মেটা_কি, $ মেটা_ভ্যালু, $ পূর্ব_মূল্য রয়েছে।

উভয় বিকল্প এবং ব্যবহারকারী ব্যবহারকারীর জন্য এখানে কিছু মান।

বিকল্প

  • wp_user_level
  • wp_user-সেটিংস
  • wp_capabilities
  • wp_user-সেটিংস-টাইম

ব্যবহারকারী

  • নামের প্রথম অংশ
  • নামের শেষাংশ
  • ডাক নাম
  • rich_editing
  • show_admin_bar_front
  • admin_color

https://codex.wordpress.org/Function_Reference/update_user_option#Parameters

https://codex.wordpress.org/Function_Reference/update_user_meta#Parameters

কোডেক্স পৃষ্ঠাগুলির উদাহরণগুলি বাস্তব বিশ্বের ব্যবহার সরবরাহ করে।


1
এগুলি কোথায় সংরক্ষণ করা যায় সে সম্পর্কে আপনি কি আরও পরিষ্কার হতে পারেন? আপনার প্রথম বাক্যটি বোঝায় যে তারা একই জায়গায় সঞ্চিত রয়েছে, তবে আপনার দ্বিতীয়টি বোঝায় যে তারা নয়, সম্ভবত একটি স্পষ্ট উদাহরণ আরও ভাল হতে পারে? মনে রাখবেন যে উত্তর স্বয়ংসম্পূর্ণ হওয়া উচিত, তাই তারা এখনও লিঙ্করট সেট পর জানার জন্য প্যাড ছবিটির রক্ষা করা হয় এবং devhub দ্বারা প্রতিস্থাপিত হচ্ছে।
টম জে Nowell

@ টমজেউনওয়েল এগুলি ডাব্লুপি-ইনপুট / ইউজার.এফপি-তে পাওয়া যাবে - আপনি ইউজারমেটা টেবিলে মেটা এবং বিকল্প উভয়ের জন্যই মান খুঁজে পাবেন। আমি আমার উত্তরটি সম্পাদনা করব lol
জারমারসন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.