WP hooks navigation: Home/browse • Actions index • Filters index
To save our bandwidth, we show only a snippet of code around each occurence of the hook. View complete file in SVN (without highlighting).
The best way to understand what a hook does is to look at where it occurs in the source code.
do_action( "hook_name" )apply_filters( "hook_name", "what_to_filter" ).Remember, this hook may occur in more than one file. Moreover, the hook's context may change from version to version.
| Line | Code |
|---|---|
| 272 | function themes_api($action, $args = null) { |
| 273 | |
| 274 | if ( is_array($args) ) |
| 275 | $args = (object)$args; |
| 276 | |
| 277 | if ( !isset($args->per_page) ) |
| 278 | $args->per_page = 24; |
| 279 | |
| 280 | $args = apply_filters('themes_api_args', $args, $action); //NOTE: Ensure that an object is returned via this filter. |
| 281 | $res = apply_filters('themes_api', false, $action, $args); //NOTE: Allows a theme to completely override the builtin WordPress.org API. |
| 282 | |
| 283 | if ( ! $res ) { |
| 284 | $request = wp_remote_post('http://api.wordpress.org/themes/info/1.0/', array( 'body' => array('action' => $action, 'request' => serialize($args))) ); |
| 285 | if ( is_wp_error($request) ) { |
| 286 | $res = new WP_Error('themes_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ), $request->get_error_message() ); |
| 287 | } else { |
| 288 | $res = maybe_unserialize( wp_remote_retrieve_body( $request ) ); |
| 289 | if ( ! is_object( $res ) && ! is_array( $res ) ) |
| 290 | $res = new WP_Error('themes_api_failed', __( 'An unexpected error occurred. Something may be wrong with WordPress.org or this server’s configuration. If you continue to have problems, please try the <a href="http://wordpress.org/support/">support forums</a>.' ), wp_remote_retrieve_body( $request ) ); |