mirror of
https://github.com/WordPress/WordPress.git
synced 2024-08-22 22:03:34 +02:00
70 lines
1.9 KiB
PHP
70 lines
1.9 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* WordPress Credits Administration API.
|
||
|
*
|
||
|
* @package WordPress
|
||
|
* @subpackage Administration
|
||
|
* @since 4.4.0
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Retrieve the contributor credits.
|
||
|
*
|
||
|
* @global string $wp_version The current WordPress version.
|
||
|
*
|
||
|
* @since 3.2.0
|
||
|
*
|
||
|
* @return array|false A list of all of the contributors, or false on error.
|
||
|
*/
|
||
|
function wp_credits() {
|
||
|
global $wp_version;
|
||
|
$locale = get_locale();
|
||
|
|
||
|
$results = get_site_transient( 'wordpress_credits_' . $locale );
|
||
|
|
||
|
if ( ! is_array( $results )
|
||
|
|| false !== strpos( $wp_version, '-' )
|
||
|
|| ( isset( $results['data']['version'] ) && strpos( $wp_version, $results['data']['version'] ) !== 0 )
|
||
|
) {
|
||
|
$response = wp_remote_get( "http://api.wordpress.org/core/credits/1.1/?version=$wp_version&locale=$locale" );
|
||
|
|
||
|
if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) )
|
||
|
return false;
|
||
|
|
||
|
$results = json_decode( wp_remote_retrieve_body( $response ), true );
|
||
|
|
||
|
if ( ! is_array( $results ) )
|
||
|
return false;
|
||
|
|
||
|
set_site_transient( 'wordpress_credits_' . $locale, $results, DAY_IN_SECONDS );
|
||
|
}
|
||
|
|
||
|
return $results;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Retrieve the link to a contributor's WordPress.org profile page.
|
||
|
*
|
||
|
* @access private
|
||
|
* @since 3.2.0
|
||
|
*
|
||
|
* @param string &$display_name The contributor's display name, passed by reference.
|
||
|
* @param string $username The contributor's username.
|
||
|
* @param string $profiles URL to the contributor's WordPress.org profile page.
|
||
|
*/
|
||
|
function _wp_credits_add_profile_link( &$display_name, $username, $profiles ) {
|
||
|
$display_name = '<a href="' . esc_url( sprintf( $profiles, $username ) ) . '">' . esc_html( $display_name ) . '</a>';
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Retrieve the link to an external library used in WordPress.
|
||
|
*
|
||
|
* @access private
|
||
|
* @since 3.2.0
|
||
|
*
|
||
|
* @param string &$data External library data, passed by reference.
|
||
|
*/
|
||
|
function _wp_credits_build_object_link( &$data ) {
|
||
|
$data = '<a href="' . esc_url( $data[1] ) . '">' . esc_html( $data[0] ) . '</a>';
|
||
|
}
|