Metadata

در قسمت  گذشته درباره update_post_meta صحبت کردیم.حال میخواهیم درباره delete post meta صحبت کنیم.


توضیحات

تابع ()  delete_post_meta  تمام مقادیر یک کلید متا (میدان سفارشی) موجود برای پست مشخص شده  را حذف می کند. 

ساختار

 <?php delete_post_meta($post_id, $meta_key, $meta_value); ?> 

پارامترها

$post_id
یک مقدار عددی که شناسه پستی  را که میخواهیم حذف کنیم را  مشخص می کند(وارد کردن الزامی)
Default: None
$meta_key
یک رشته که کلید متای فیلدی که می خواهیم حذف کنیم را می گیرد(وارد کردن الزامی)
Default: None
$meta_value
یک رشته که مقدار فیلدی که می خواهید را میگیرد البته این رشته می تواند اختیاری باشد (برای فیلد هایی که ممکن است یک کلید متا دارای چندین مقدار باشد که شما می توانید از بین آنها مقدار مشخص شده را وارد نمایید) .ممکن است که عدد و یا رشته باشد.
Default: Empty

مقادیر بازگشتی

(boolean) 

یک مقدار true هنگام پاسخ درست  و یا false هنگام شکست در پاسخ 
 

مثال

<?php delete_post_meta(7, 'my_wp_key', 'farhad'); ?>

در مثال بالا می گوییم که پست با شناسه ۷ که کلید متای my_wp_key را داراست و مقدار آن فرهاد است را حذف کند.

حال فرض کنید ما میخواهیم تمام کلید های متا با یک عنوان مشخص را حذف کنیم.(مثال پلاگینی ساختیم  که  میخواهیم در هنگام غیر فعال سازی آن تمام کلید های متا هم به همراه آن حذف شود).اگر کلید متای ما  wpmen_members   نام داشته باشد به طریق زیر می توانیم تمام کلید های متا با این عنوان را حذف کنیم

<?php delete_post_meta_by_key( 'wpmen_members' ); ?>

 

حال فرض کنید ما می خواهیم تمام کلید های متا را به غیر از آنهایی که post_inspiration آن Sherlock Holmes باشد را حذف کنیم

<?php
  $allposts = get_posts( 'numberposts=-1&post_type=post&post_status=any' );

  foreach( $allposts as $postinfo ) {
    delete_post_meta( $postinfo->ID, 'wpmen_members' );
    $inspiration = get_post_meta( $postinfo->ID, 'post_inspiration' );
    foreach( $inspiration as $value ) {
      if( 'Sherlock Holmes' !== $value )
        delete_post_meta( $postinfo->ID, 'post_inspiration', $value );
    }
  }
?>

حال اگر بخواهیم پست شماره ۴ را که قبلا حذف شده را کلید متای wpmen_members را از آن حذف کنیم می توانیم از کد زیر استفاده کنیم

<?php
  $allposts = get_posts( 'numberposts=-1&post_type=post&post_status=any' );

  foreach( $allposts as $postinfo ) {
    delete_post_meta( $postinfo->ID, 'wpmen_members', '4' );
  }
?>

با ما همراه باشید

تاریخ آخرین بروزرسانی : ۶ مرداد ۱۳۹۵
میلاد میلادی

باور هایت را که پرورش دهی به هرچیزی دست خواهی یافت.

ارسال نظر

آدرس الکترونیکی شما نمایش داده نمی شود *

Time limit is exhausted. Please reload CAPTCHA.