Вставка $ wpdb не работает - PullRequest
0 голосов
/ 25 августа 2011

Я создал новый мета-блок для моего типа записей «дел».И когда я публикую новую запись «дел», я хочу вставить мета-идентификатор в новую созданную мной таблицу под названием «сортировка».Я использовал этот код:

function save_postdata( $post_id ) {
    global $post, $new_meta_boxes, $wpdb;

    foreach ($new_meta_boxes as $meta_box) {
        if ( !wp_verify_nonce( $_POST[$meta_box['name'].'_noncename'], plugin_basename(__FILE__) )) {
                return $post_id;
            }

    if ( 'cases' == $_POST['post_type'] ) {
    if ( !current_user_can( 'edit_page', $post_id ))
        return $post_id;
        } else {
        if ( !current_user_can( 'edit_post', $post_id ))
        return $post_id;
        }

    $data = $_POST[$meta_box['name'].'_value'];

    if(get_post_meta($post_id, $meta_box['name'].'_value') == "") {

    add_post_meta($post_id, $meta_box['name'].'_value', $data, true);

    $meta_id = get_post_meta($post_id, 'meta_id', true);

    $wpdb->insert( 'sort', array('meta_id'=>$meta_id, 'column_order' => 1));

    }

    elseif($data != get_post_meta($post_id, $meta_box['name'].'_value', true))
    update_post_meta($post_id, $meta_box['name'].'_value', $data);

    elseif($data == "") 
    delete_post_meta($post_id, $meta_box['name'].'_value', get_post_meta($post_id, $meta_box['name'].'_value', true));



    }

}

В таблице сортировки есть три поля: id, meta_id и column_order.Может кто-то видит, что я делаю не так?

1 Ответ

0 голосов
/ 25 августа 2011

Убедитесь, что в своем операторе вставки вы добавили 'NULL'

$ wpdb-> insert ('sort', array ('NULL', 'meta_id' => $ meta_id, 'column_order' => 1));

Это может быть причиной проблемы, а также убедитесь, что это правильный порядок ваших столбцов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...