Это код для того что бы редактировать доп.поле не заходя в запись (в админке водпреса) я не пойму почему не срабатывает вообще и не передается значение.
Скрипт взял
отсюда
// быстрый редактор в админ панеле по записям
function true_add_post_columnd($md_columns){
$slider = array( 'description' => 'Description' );
$md_columns = array_slice( $md_columns, 0, 5, true ) + $slider + array_slice( $md_columns, 5, NULL, true );
return $md_columns;
}
function true_fill_post_columnd($dcolumns) {
global $post;
switch ($dcolumns) {
case 'description':
echo '<input type="text" class="this_description" data-id="' . $post->ID .'" value="' . get_post_meta( $post->ID, 'description', true ) . '" /><p></p>';
break;
}
}
add_filter( 'manage_edit-page_columns', 'true_add_post_columnd', 10, 1 ); // manage_edit-{тип поста}_columns
add_action( 'manage_pages_custom_column', 'true_fill_post_columnd', 10, 1 );
function updateDescription_callback(){ // название не имеет значения, но должно соответствовать названиям в хуках
update_post_meta($_POST['page_id'], 'description', esc_attr($_POST['description_val']));
die();
}
if( is_admin() ) {
add_action('wp_ajax_updateDescription', 'updateDescription_callback');
add_action('wp_ajax_updatePrice', 'updatePrice_callback');
// wp_ajax_nopriv_ не нужен, так как мы работаем в админке (а в админку не попадают незареганные пользователи)
}
вот js
jQuery(function($){
$('.this_description').blur(function(){
this_description = $(this);
$.ajax({
type:'POST',
url:ajaxurl,
data:'action=updateDescription&description_val=' + this_description.val() + '&page_id=' + this_description.attr('data-id'),
beforeSend:function(xhr){
this_description.attr('readonly','readonly').next().html('Сохраняю...');
},
success:function(results){
this_description.removeAttr('readonly').next().html('<span style="color:#0FB10F">Сохранено</span>');
}
});
});
});