رفتن به مطلب

ذخیره سازی پست متاها بصورت گروهی


پست های پیشنهاد شده

سلام

فرض کنید ما در متاباکس خودمون تعداد زیادی فیلد متنی داریم. حالا برای ذخیره سازیشون بهترین روش چه روشیه؟

مثلا من برای ذخیره به این صورت عمل میکنم:

 if (!empty(filter_input(INPUT_POST, 'db1')))
        update_post_meta($postid, '_pcode', sanitize_text_field(filter_input(INPUT_POST, 'db1')));
    else
        delete_post_meta($postid, '_db1', filter_input(INPUT_POST, 'db1'));
    if (!empty(filter_input(INPUT_POST, 'db2')))
        update_post_meta($postid, '_db2', sanitize_text_field(filter_input(INPUT_POST, 'db2')));
    else
        delete_post_meta($postid, '_db2', filter_input(INPUT_POST, 'db2'));
    if (!empty(filter_input(INPUT_POST, 'db3')))
        update_post_meta($postid, '_db3', sanitize_text_field(filter_input(INPUT_POST, 'db3')));
    else
        delete_post_meta($postid, '_db3', filter_input(INPUT_POST, 'db3'));

این سه عدد از فیلدها هست در صورتی که حدود 40 عدد فیلد موجود هست. حالا روش بالای من درسته یا اینکه برای کدنویسی کمتر میشه کار دیگه ای انجام داد؟

ممنون

لینک به ارسال
در در ۱۳۹۹/۹/۱۶ در 01:42، shelakhteh گفته است :

سلام

فرض کنید ما در متاباکس خودمون تعداد زیادی فیلد متنی داریم. حالا برای ذخیره سازیشون بهترین روش چه روشیه؟

مثلا من برای ذخیره به این صورت عمل میکنم:


 if (!empty(filter_input(INPUT_POST, 'db1')))
        update_post_meta($postid, '_pcode', sanitize_text_field(filter_input(INPUT_POST, 'db1')));
    else
        delete_post_meta($postid, '_db1', filter_input(INPUT_POST, 'db1'));
    if (!empty(filter_input(INPUT_POST, 'db2')))
        update_post_meta($postid, '_db2', sanitize_text_field(filter_input(INPUT_POST, 'db2')));
    else
        delete_post_meta($postid, '_db2', filter_input(INPUT_POST, 'db2'));
    if (!empty(filter_input(INPUT_POST, 'db3')))
        update_post_meta($postid, '_db3', sanitize_text_field(filter_input(INPUT_POST, 'db3')));
    else
        delete_post_meta($postid, '_db3', filter_input(INPUT_POST, 'db3'));

این سه عدد از فیلدها هست در صورتی که حدود 40 عدد فیلد موجود هست. حالا روش بالای من درسته یا اینکه برای کدنویسی کمتر میشه کار دیگه ای انجام داد؟

ممنون

سلام. خیلی ساده میتونید از حلقه ها استفاده کنید. برای مثال:

<?php
for( $i = 1; $i <= 40; $i++ ) {
	if( ! empty( filter_input( INPUT_POST, "db$i" ) ) ) {
        update_post_meta( $postid, "_db$i", sanitize_text_field( filter_input( INPUT_POST, "db1$i" ) ) );
    } else {
        delete_post_meta( $postid, "_db$i", filter_input( INPUT_POST, "db1$i" ) );
    }
}

 

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...