Пытаюсь добавить дополнительное поле в редактор изображений gallery recall (там где задаем заголовок и описание).
Вставить поле для ввода не проблема, а вот как сохранять значение этого поля я пока не понял.
Допустим, я создал текстовое поле "content2". Как мне заставить его работать по аналогии с полем "content" ? Как его правильно объявить?
function step_one_redactor_image(){ global $user_ID,$wpdb; $post_id = $_POST['post_id']; $post_array = $wpdb->get_row("SELECT * FROM ".$wpdb->prefix."posts WHERE ID='$post_id'"); $title = $post_array->post_title; $content = $post_array->post_content; $content2 = $post_array-> ???
а, для фото действительно нельзя туда сохранять данные.
Значит надо использовать произвольное поле.
в первой функции получайте данные из функции $content2 = get_post_meta($post_id,'content-two',1);
а во второй фунции обновляйте данные в ней через update_post_meta($post_id,'content-two');
Странно. Ведь поля профиля вызываются как раз через get_post_meta.
Андрей, вообще суть всех манипуляций в следующем:
Мне нужен рубрикатор для галерей. Самым простым способом реализации является добавление пользовательского поля "select". То есть юзер при редактировании названия и описания определяет также и категорию для изображения. Дальше уже можно брать данные из этого поля для сортировки по категориям.
В разделе "идеи" я публиковал идею реализации рубрик, можно сделать все вышеописанным способом. Звучит не сложно, но я нуб в php, поэтому и прошу помощи.
В общем если сделаете, то идею можно закрывать, а 1500р ваши .
Произвольные поля теперь должны работать, но что-то я все равно делаю не так...
Получить данные get_post_meta получается, а вот как их обновить не пойму. При редактировании формы нажатие на кнопку "обновить" ничего не происходит.
Может еще что-то надо добавить?
Вот код:
function step_one_redactor_image(){ global $user_ID,$wpdb; $post_id = esc_sql($_POST['post_id']); $post_array = $wpdb->get_row("SELECT * FROM ".$wpdb->prefix."posts WHERE ID='$post_id'"); $title = $post_array->post_title; $content = $post_array->post_content; $category = get_post_meta($post_id,'category_one',1); if($user_ID){ $log['result']=100; $log['content']= " <div style='display:block;' class='float-window-recall'> <a href='#' class='close-popup'></a> <h3>Category</h3> <input type='text' name='category_one' id='category_edit' style='width:95%;' value='".$category."'> <h3>".__("Name",'rcl').":</h3> <input type='text' name='post_title' id='post_title_edit' style='width:95%;' value='".$title."'> <h3>".__("Description",'rcl').":</h3> <textarea name='post_content' id='content_area_edit' rows='10' style='width:95%;'>".$content."</textarea> <input type='hidden' id='post_id_edit' value='".$post_id."'> ".rcl_get_button(__('Update','rcl'),'#',array('icon'=>false,'class'=>'update-image','id'=>'add-comment','attr'=>'style=float:right;'))." </div>"; } echo json_encode($log); exit; } function step_two_redactor_image(){ global $user_ID,$wpdb; if(!$user_ID) exit; $post_id = esc_sql($_POST['post_id']); $post_title = esc_sql($_POST['post_title']); $post_content = esc_sql($_POST['post_content']); $post_array = array(); $post_array['post_title'] = $post_title; $post_array['post_content'] = $post_content; update_post_meta($post_id,'category_one'); $post_array = apply_filters('rcl_pre_edit_post',$post_array); $result = $wpdb->update( $wpdb->prefix.'posts', $post_array, array('ID'=>$post_id) ); if($result){ $log['post_id']=$post_id; $log['post_title']=$post_title; $log['post_content']=$post_content; $log['otvet']=100; } echo json_encode($log); exit; }