使用$wpdb更新当前帖子

时间:2013-03-07 作者:sosukeinu

我有一个函数,可以在某个日期过期帖子,并向数据库中添加一个检查。现在,我希望能够“回收”那些具有新过期日期的帖子,但为了做到这一点,我需要删除\\u expiration\\u date\\u processed条目。下面的功能是否是实现这一点的最佳方法,尤其是在使用快速编辑更改多个帖子的状态的情况下?感谢您提供的任何见解。

add_action(\'draft_to_published\',\'gcpl_draft_to_published\');
 function gcpl_draft_to_published($post){
  global $post;
  global $wpdb;
     $current_id = $post->ID;
     $processsql = \'select meta_value from \'.$wpdb->postmeta.\' where meta_key = "_expiration-date-processed" AND post_id = \'.$current_id.\'\';
     $processresult = $wpdb->get_col($processsql);
      if (!empty($processresult)) foreach ($current_id as $a) {
       delete_post_meta($a->post_id, \'_expiration-date-processed\');
     }
 }

1 个回复
最合适的回答,由SO网友:sosukeinu 整理而成

没关系,我把整个过程复杂化了,因为我没有考虑只使用get\\u post\\u meta()。

add_action(\'draft_to_publish\',\'gcpl_draft_to_published\');
 function gcpl_draft_to_published($post){
      $exp_processed = get_post_meta($post->ID, \'_expiration-date-processed\', true);
    // check if the custom field has a value
        if($exp_processed != \'\') {
          delete_post_meta($post->ID, \'_expiration-date-processed\');
        }
 }

结束

相关推荐

$wpdb->WordPress更新后准备错误

Possible Duplicate:$wpdb->prepare() warning in WordPress 3.5 将Wordpress更新为3.5后,我面临一个错误,我知道有错误,但我无法修复。这是代码: $wpdb->prepare(\"INSERT INTO $orders_table ( theme_name, user_id, order_status, order_verified, order_date, order_payment_method, order_ip )