wp_update_post не работает

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

// WP_Query arguments $args = array ( 'post_type' => 'books', 'name' => '', 'post_status' => 'publish', 'posts_per_page' => -1, ); add_filter( 'posts_where', 'custom_posts_where' ); echo "1"; // The Query $query = new WP_Query( $args ); echo "2"; $germanizer = new Germanizer(); // The Loop if ( $query->have_posts() ) { while ( $query->have_posts() ) { $query->the_post(); // do something $seo_slug = seo_slugs( $germanizer->sanitize_title_filter( $post->post_title ) ); // check the slug and run an update if necessary if ( $post->post_name != $seo_slug ) { wp_update_post( array ( 'ID' => $post->ID, 'post_name' => $seo_slug ) ); } } } function custom_posts_where( $where ) { remove_filter( current_filter(), __FUNCTION__ ); if( FALSE === strpos( $where, 'post_name' ) ) { $where .= sprintf( " AND %s.post_name = '' ", $GLOBALS['wpdb']->posts ); } return $where; } // Restore original Post Data wp_reset_postdata(); 

Я включил wp-config.php так что это не проблема. Фактически скрипт выполняется без каких-либо ошибок в моей локальной среде разработки (MAMP) и печатает 2 но не обновляет post_name .

Но на моем тестовом env он отгоняет только 1 без ошибок и, естественно, не обновляет post_name . Общее количество сообщений в моем тестовом env составляет около 5k, поэтому я задаюсь вопросом, является ли это причиной.

Этот код использует Germanix Plugin от @toscho и может быть релевантной информацией.

Solutions Collecting From Web of "wp_update_post не работает"