Обновление метаданных для массового редактирования / обновления

У меня небольшая проблема с кодом, который работает большую часть времени. Я только что обнаружил, что он не может использоваться, когда я редактирую собственный тип сообщений. Если я попал на отдельную почтовую страницу и ударяю публикацию, пользовательский тип публикации публикуется, и пользовательский мета обновляется.

Если я использую массовое редактирование, чтобы публиковать сразу несколько сообщений, мета-пользователь не обновляется.

function sa_ads_count() { global $wpdb, $post; $authordata = get_userdata($post->post_author); $author = $authordata->ID; // get initial count $single = true; $ads_count = get_user_meta( $author, 'ads_count', $single ); if ( strlen( $ads_count ) > 0 ) { $ads_count = intval( $ads_count ); // make sure it's a number $ads_count++; // increment by one } else { // meta isn't set, so we'll create it $rows = $wpdb->get_results( $wpdb->prepare( "SELECT post_status, COUNT(ID) as count FROM $wpdb->posts WHERE post_author = %d AND post_type = 'post_type' GROUP BY post_status", $author ) ); $stats = array(); foreach ( $rows as $row ) $stats[ $row->post_status ] = $row->count; $ads_count = isset($stats['publish']) ? $stats['publish'] : 0; } update_user_meta( $author, 'ads_count', $ads_count ); } add_action( 'pending_to_publish', 'sa_ads_count' ); 

Любая идея, что здесь не так? Это ограничение WordPress, или это можно решить? Дело в том, что мне нужен этот крюк, поскольку я хочу только подсчитывать и хранить для каждого пользователя, количество сообщений, которые я одобряю и публикую.

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

Solutions Collecting From Web of "Обновление метаданных для массового редактирования / обновления"