وردپرس یکی از محبوبترین سیستمهای مدیریت محتوا است که به دلیل انعطافپذیری و ویژگیهای قدرتمندش بسیار مورد استقبال قرار گرفته است. یکی از امکانات جذاب وردپرس، استفاده از متا دادهها برای ذخیره اطلاعات اضافی مرتبط با پستها است. توابع get_post_meta()
و update_post_meta()
نقش مهمی در این زمینه ایفا میکنند.
احتمالا متوجه شدید که بعد از استفاده از تابع update_post_meta()
، زمانی که قصد دارید دادهها را با get_post_meta()
دریافت کنید، با مقدار false
روبهرو میشوید. این مسئله ممکن است ناشی از دلایل مختلفی باشد.
اولین و مهمترین نکتهای که باید به آن دقت کنید این است که هر دو تابع get_post_meta()
و update_post_meta()
نیاز به شناسه صحیح پست دارند. اگر شناسهای که وارد کردهاید نادرست باشد، طبیعتاً به نتایج صحیحی دست پیدا نخواهید کرد.
دومین نکته، به وجود خطا یا عدم هماهنگی در نام متا دادهها برمیگردد. حتماً مطمئن شوید که نام متا دادهها را بهدرستی و یکسان در هر دو تابع استفاده کردید.
همچنین، در صورتی که تابع update_post_meta()
دادهها را با موفقیت بهروزرسانی نکند، ممکن است به دلیل کمبود مجوزهای دسترسی یا عدم حساسیتهای کمتری نسبت به آن به مشکل بخورید.
// بهروزرسانی متا دادههای پست
update_post_meta($post_id, 'meta_key', 'value');
// دریافت متا دادههای پست
$meta_value = get_post_meta($post_id, 'meta_key', true);
خط اول: از تابع update_post_meta
برای بهروزرسانی متا دادهها استفاده میکند.
خط دوم: شناسه پست $post_id
و کلید متا 'meta_key'
را به تابع میدهد.
خط سوم: متا داده را با استفاده از get_post_meta
دریافت میکند و نتیجه را در $meta_value
ذخیره میکند.
خط چهارم: پارامتر true نشان میدهد که تنها یک مقدار مستقیم بهعنوان نتیجه لازم است نه یک آرایه.