Функции, которые называют себя до условия

У меня есть эта функция готова и идеально:

add_action( 'wp_loaded', 'cron_revise_changed_listings' );
function cron_revise_changed_listings() {
global $wpdb;

if ( !isset( $_REQUEST['wplister_revise_all'] ) ) {
    return;
}

@set_time_limit( 0 );

$limit = isset( $_REQUEST['revise_limit'] ) ? intval( $_REQUEST['revise_limit'] ) : 10;

$listings = $wpdb->get_results("
        SELECT id, account_id
     FROM {$wpdb->prefix}ebay_auctions
     WHERE status = 'changed'
     ORDER BY id DESC
     LIMIT {$limit}", ARRAY_A );

if ( empty( $listings ) ) {
    die( json_encode( array( 'revised' => 0 ) ) );
}

$lm = new ListingsModel();

$revised = 0;
$last_account_id = false;
foreach ( $listings as $listing ) {
    if ( $last_account_id != $listing['account_id'] ) {
        $last_account_id = $listing['account_id'];
        WPLE()->initEC( $listing['account_id'] );
    }
    $lm->reviseItem( $listing['id'], WPLE()->EC->session );
    $revised++;
}

WPLE()->EC->closeEbay();

die( json_encode( array( 'revised' => $revised ) ) );
}

Проблема заключается в том, что эта функция может обновлять только ряд элементов, например, 50 или менее, поэтому я пытаюсь пересмотреть и вызвать себя до тех пор, пока не будет выполнено это условие:

if ( empty( $listings ) ) {
    die( json_encode( array( 'revised' => 0 ) ) );
}

У кого-то есть предложения?

0 ответов

Другие вопросы по тегам