رفتن به مطلب

مرتب و sort کردن مطالب براساس مقدار زمینه دلخواه آرایه‌ای


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

سلام. من هنگام مرتب کردن مطالب در یکی از پروژه‌هام به یک مشکلی برخورد کردم.

می‌خوام وقتی تو یه کوئری مطالب رو sort می‌کنم براساس مقدار یک زمینه دلخواه باشه. اما مشکل اینجاست که زمینه دلخواه من به صورت آرایه چندین داده رو تو خودش ذخیره کرده و من می‌خوام که مطالب براساس یکی از داده‌های اون آرایه مرتب بشه.

راهی برای حل این مشکل هست؟ ممنون

لینک به ارسال
  • Hoomanhpc2 عنوان را به مرتب و sort کردن مطالب براساس مقدار زمینه دلخواه آرایه‌ای تغییر داده است

آرایه تک بعدیه. یک نمونه از آرایه به عنوان مقدار کاستوم فیلد:

array(
    "PRICE" => "5375.39",
    "LASTUPDATE" => "1507827975",
    "OPEN24HOUR" => "4837.28",
    "HIGH24HOUR" => "5409.79",
    "LOW24HOUR" => "4788.48",
    "LASTMARKET" => "Kraken",
    "Id" => "1182",
    "Algorithm" => "SHA256",
    "ProofType" => "PoW"
)

برای مثال می‌خوام تو یک کوئری مطالب رو براساس ایندکس PRICE مرتب کنم. جای دیگه یه کوئری دیگه بزنم که براساس LASTUPDATE که timestamp هست مرتب کنه.

لینک به ارسال

درود مجدد

 

الان دقیقا منظورتون رو متوجه شدم.

خبر متاسفانه ممکن نیست که بر اساس مقدار کاستوم فیلدی که به صورت serialize ذخیره شده توی دیتابیس بیایم مطالب رو مرتب کنیم.

 

موفق باشید

  • امتیاز 1
لینک به ارسال

خیلی ممنون بابت پاسخ‌گویی.

پس در این صورت باید مقادیری که می‌خوام مطالب براساس آن‌ها مرتب بشن رو تو زمینه مجزا ذخیره کنم. درسته؟

در این صورت باید برای هر کدوم از این داده‌ها از تابع update_post_meta استفاده کنم. استفاده زیاد از این تابع بار پردازشی اسکریپت رو بالا نمی‌بره؟

لینک به ارسال

درود مجدد

 

نقل قول

پس در این صورت باید مقادیری که می‌خوام مطالب براساس آن‌ها مرتب بشن رو تو زمینه مجزا ذخیره کنم. درسته؟

بله همینطوره.

نقل قول

در این صورت باید برای هر کدوم از این داده‌ها از تابع update_post_meta استفاده کنم. استفاده زیاد از این تابع بار پردازشی اسکریپت رو بالا نمی‌بره؟

چون فقط استفاده از update_post_meta موقع ذخیره سازی پست اتفاق میوفته و هر بار که سایت لود میشه استفاده نمیشه مشکلی نداره و میتونید استفاده.

توی این مورد هم که شما چاره ای جز این کار ندارید.

  • امتیاز 1
لینک به ارسال

لطفا برای ارسال دیدگاه وارد شوید

شما بعد از اینکه وارد حساب کاربری خود شدید می توانید دیدگاهی ارسال کنید



ورود به حساب کاربری
×
×
  • اضافه کردن...