Does WordPress cache get_user_meta() results?

Yes, it does. That function is a wrapper for get_metadata(). Inside of that you can find: $meta_cache = wp_cache_get($object_id, $meta_type . ‘_meta’); if ( !$meta_cache ) { $meta_cache = update_meta_cache( $meta_type, array( $object_id ) ); $meta_cache = $meta_cache[$object_id]; }

WordPress for a very large website

…would WordPress be able to render the website in less than one second… WordPress is perfectly scalable to the amount of content and user base you’re describing. You just need the horsepower for httpd (apache/nginx) to be able show one second page loads and have the database server (mysql, maria) respond fast, too. You also … Read more

How to add query vars with paginated URLs?

Use the add_args parameter to add an array of query string arguments to pagination links: echo paginate_links( array( ‘base’ => add_query_arg( ‘cpage’, ‘%#%’ ), ‘format’ => ”, ‘prev_text’ => __(‘«’), ‘next_text’ => __(‘»’), ‘total’ => ceil($total / $items_per_page), ‘current’ => $page, ‘add_args’ => array( ‘category’ => ‘fruit’, ‘color’ => ‘red’ ) ));

Increment value (value = value+1) of $wpdb->update

You don’t. Not with the WPDB update() function. The update function assumes that the values of the columns are strings. You can override that with the format parameter, but that only allows %d, %f, and %s (integer, float, string). It doesn’t allow operations on columns like total+1. You’d have to use the query() function directly … Read more