예제 #1
0
/**
 * Updates the comment count for post(s).
 *
 * When $do_deferred is false (is by default) and the comments have been set to
 * be deferred, the post_id will be added to a queue, which will be updated at a
 * later date and only updated once per post ID.
 *
 * If the comments have not be set up to be deferred, then the post will be
 * updated. When $do_deferred is set to true, then all previous deferred post
 * IDs will be updated along with the current $post_id.
 *
 * @since 2.1.0
 * @see nxt_update_comment_count_now() For what could cause a false return value
 *
 * @param int $post_id Post ID
 * @param bool $do_deferred Whether to process previously deferred post comment counts
 * @return bool True on success, false on failure
 */
function nxt_update_comment_count($post_id, $do_deferred = false)
{
    static $_deferred = array();
    if ($do_deferred) {
        $_deferred = array_unique($_deferred);
        foreach ($_deferred as $i => $_post_id) {
            nxt_update_comment_count_now($_post_id);
            unset($_deferred[$i]);
            /** @todo Move this outside of the foreach and reset $_deferred to an array instead */
        }
    }
    if (nxt_defer_comment_counting()) {
        $_deferred[] = $post_id;
        return true;
    } elseif ($post_id) {
        return nxt_update_comment_count_now($post_id);
    }
}
예제 #2
0
 /**
  * Performs post-import cleanup of files and the cache
  */
 function import_end()
 {
     nxt_import_cleanup($this->id);
     nxt_cache_flush();
     foreach (get_taxonomies() as $tax) {
         delete_option("{$tax}_children");
         _get_term_hierarchy($tax);
     }
     nxt_defer_term_counting(false);
     nxt_defer_comment_counting(false);
     echo '<p>' . __('All done.', 'nxtclass-importer') . ' <a href="' . admin_url() . '">' . __('Have fun!', 'nxtclass-importer') . '</a>' . '</p>';
     echo '<p>' . __('Remember to update the passwords and roles of imported users.', 'nxtclass-importer') . '</p>';
     do_action('import_end');
 }