本文整理汇总了PHP中get_theme_update_available函数的典型用法代码示例。如果您正苦于以下问题:PHP get_theme_update_available函数的具体用法?PHP get_theme_update_available怎么用?PHP get_theme_update_available使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get_theme_update_available函数的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: wp_prepare_themes_for_js
/**
* Prepare themes for JavaScript.
*
* @since 3.8.0
*
* @param array $themes Optional. Array of WP_Theme objects to prepare.
* Defaults to all allowed themes.
*
* @return array An associative array of theme data, sorted by name.
*/
function wp_prepare_themes_for_js($themes = null)
{
$current_theme = get_stylesheet();
/**
* Filter theme data before it is prepared for JavaScript.
*
* Passing a non-empty array will result in wp_prepare_themes_for_js() returning
* early with that value instead.
*
* @since 4.2.0
*
* @param array $prepared_themes An associative array of theme data. Default empty array.
* @param null|array $themes An array of WP_Theme objects to prepare, if any.
* @param string $current_theme The current theme slug.
*/
$prepared_themes = (array) apply_filters('pre_prepare_themes_for_js', array(), $themes, $current_theme);
if (!empty($prepared_themes)) {
return $prepared_themes;
}
// Make sure the current theme is listed first.
$prepared_themes[$current_theme] = array();
if (null === $themes) {
$themes = wp_get_themes(array('allowed' => true));
if (!isset($themes[$current_theme])) {
$themes[$current_theme] = wp_get_theme();
}
}
$updates = array();
if (current_user_can('update_themes')) {
$updates_transient = get_site_transient('update_themes');
if (isset($updates_transient->response)) {
$updates = $updates_transient->response;
}
}
WP_Theme::sort_by_name($themes);
$parents = array();
/** @type WP_Theme $theme */
foreach ($themes as $theme) {
$slug = $theme->get_stylesheet();
$encoded_slug = urlencode($slug);
$parent = false;
if ($theme->parent()) {
$parent = $theme->parent()->display('Name');
$parents[$slug] = $theme->parent()->get_stylesheet();
}
$prepared_themes[$slug] = array('id' => $slug, 'name' => $theme->display('Name'), 'screenshot' => array($theme->get_screenshot()), 'description' => $theme->display('Description'), 'author' => $theme->display('Author', false, true), 'authorAndUri' => $theme->display('Author'), 'version' => $theme->display('Version'), 'tags' => $theme->display('Tags'), 'parent' => $parent, 'active' => $slug === $current_theme, 'hasUpdate' => isset($updates[$slug]), 'update' => get_theme_update_available($theme), 'actions' => array('activate' => current_user_can('switch_themes') ? wp_nonce_url(admin_url('themes.php?action=activate&stylesheet=' . $encoded_slug), 'switch-theme_' . $slug) : null, 'customize' => current_user_can('edit_theme_options') && current_user_can('customize') ? wp_customize_url($slug) : null, 'preview' => add_query_arg(array('preview' => 1, 'template' => urlencode($theme->get_template()), 'stylesheet' => urlencode($slug), 'preview_iframe' => true, 'TB_iframe' => true), home_url('/')), 'delete' => current_user_can('delete_themes') ? wp_nonce_url(admin_url('themes.php?action=delete&stylesheet=' . $encoded_slug), 'delete-theme_' . $slug) : null));
}
// Remove 'delete' action if theme has an active child
if (!empty($parents) && array_key_exists($current_theme, $parents)) {
unset($prepared_themes[$parents[$current_theme]]['actions']['delete']);
}
/**
* Filter the themes prepared for JavaScript, for themes.php.
*
* Could be useful for changing the order, which is by name by default.
*
* @since 3.8.0
*
* @param array $prepared_themes Array of themes.
*/
$prepared_themes = apply_filters('wp_prepare_themes_for_js', $prepared_themes);
$prepared_themes = array_values($prepared_themes);
return array_filter($prepared_themes);
}
示例2: wp_prepare_themes_for_js
/**
* Prepare themes for JavaScript.
*
* @since 3.8.0
*
* @param array $themes Optional. Array of WP_Theme objects to prepare.
* Defaults to all allowed themes.
*
* @return array An associative array of theme data, sorted by name.
*/
function wp_prepare_themes_for_js($themes = null)
{
$current_theme = get_stylesheet();
// Make sure the current theme is listed first.
$prepared_themes = array($current_theme => array());
if (null === $themes) {
$themes = wp_get_themes(array('allowed' => true));
if (!isset($themes[$current_theme])) {
$themes[$current_theme] = wp_get_theme();
}
}
$updates = array();
if (current_user_can('update_themes')) {
$updates_transient = get_site_transient('update_themes');
if (isset($updates_transient->response)) {
$updates = $updates_transient->response;
}
}
WP_Theme::sort_by_name($themes);
foreach ($themes as $theme) {
$parent = false;
if ($theme->parent()) {
$parent = $theme->parent()->display('Name');
}
$slug = $theme->get_stylesheet();
$encoded_slug = urlencode($slug);
$prepared_themes[$slug] = array('id' => $slug, 'name' => $theme->display('Name'), 'screenshot' => array($theme->get_screenshot()), 'description' => $theme->display('Description'), 'author' => $theme->display('Author', false, true), 'authorAndUri' => $theme->display('Author'), 'version' => $theme->display('Version'), 'tags' => $theme->display('Tags'), 'parent' => $parent, 'active' => $slug === $current_theme, 'hasUpdate' => isset($updates[$slug]), 'update' => get_theme_update_available($theme), 'actions' => array('activate' => current_user_can('switch_themes') ? wp_nonce_url(admin_url('themes.php?action=activate&stylesheet=' . $encoded_slug), 'switch-theme_' . $slug) : null, 'customize' => current_user_can('edit_theme_options') && current_user_can('customize') ? wp_customize_url($slug) : null, 'preview' => add_query_arg(array('preview' => 1, 'template' => urlencode($theme->get_template()), 'stylesheet' => urlencode($slug), 'preview_iframe' => true, 'TB_iframe' => true), home_url('/')), 'delete' => current_user_can('delete_themes') ? wp_nonce_url(admin_url('themes.php?action=delete&stylesheet=' . $encoded_slug), 'delete-theme_' . $slug) : null));
}
/**
* Filter the themes prepared for JavaScript, for themes.php.
*
* Could be useful for changing the order, which is by name by default.
*
* @since 3.8.0
*
* @param array $prepared_themes Array of themes.
*/
$prepared_themes = apply_filters('wp_prepare_themes_for_js', $prepared_themes);
return array_values($prepared_themes);
}