本文整理汇总了PHP中WP_Theme::network_disable_theme方法的典型用法代码示例。如果您正苦于以下问题:PHP WP_Theme::network_disable_theme方法的具体用法?PHP WP_Theme::network_disable_theme怎么用?PHP WP_Theme::network_disable_theme使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WP_Theme
的用法示例。
在下文中一共展示了WP_Theme::network_disable_theme方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: delete_theme
/**
* Remove a theme
*
* @since 2.8.0
*
* @global WP_Filesystem_Base $wp_filesystem Subclass
*
* @param string $stylesheet Stylesheet of the theme to delete
* @param string $redirect Redirect to page when complete.
* @return void|bool|WP_Error When void, echoes content.
*/
function delete_theme($stylesheet, $redirect = '')
{
global $wp_filesystem;
if (empty($stylesheet)) {
return false;
}
if (empty($redirect)) {
$redirect = wp_nonce_url('themes.php?action=delete&stylesheet=' . urlencode($stylesheet), 'delete-theme_' . $stylesheet);
}
ob_start();
$credentials = request_filesystem_credentials($redirect);
$data = ob_get_clean();
if (false === $credentials) {
if (!empty($data)) {
include_once ABSPATH . 'wp-admin/admin-header.php';
echo $data;
include ABSPATH . 'wp-admin/admin-footer.php';
exit;
}
return;
}
if (!WP_Filesystem($credentials)) {
ob_start();
request_filesystem_credentials($redirect, '', true);
// Failed to connect, Error and request again.
$data = ob_get_clean();
if (!empty($data)) {
include_once ABSPATH . 'wp-admin/admin-header.php';
echo $data;
include ABSPATH . 'wp-admin/admin-footer.php';
exit;
}
return;
}
if (!is_object($wp_filesystem)) {
return new WP_Error('fs_unavailable', __('Could not access filesystem.'));
}
if (is_wp_error($wp_filesystem->errors) && $wp_filesystem->errors->get_error_code()) {
return new WP_Error('fs_error', __('Filesystem error.'), $wp_filesystem->errors);
}
// Get the base plugin folder.
$themes_dir = $wp_filesystem->wp_themes_dir();
if (empty($themes_dir)) {
return new WP_Error('fs_no_themes_dir', __('Unable to locate WordPress theme directory.'));
}
$themes_dir = trailingslashit($themes_dir);
$theme_dir = trailingslashit($themes_dir . $stylesheet);
$deleted = $wp_filesystem->delete($theme_dir, true);
if (!$deleted) {
return new WP_Error('could_not_remove_theme', sprintf(__('Could not fully remove the theme %s.'), $stylesheet));
}
$theme_translations = wp_get_installed_translations('themes');
// Remove language files, silently.
if (!empty($theme_translations[$stylesheet])) {
$translations = $theme_translations[$stylesheet];
foreach ($translations as $translation => $data) {
$wp_filesystem->delete(WP_LANG_DIR . '/themes/' . $stylesheet . '-' . $translation . '.po');
$wp_filesystem->delete(WP_LANG_DIR . '/themes/' . $stylesheet . '-' . $translation . '.mo');
}
}
// Remove the theme from allowed themes on the network.
if (is_multisite()) {
WP_Theme::network_disable_theme($stylesheet);
}
// Force refresh of theme update information.
delete_site_transient('update_themes');
return true;
}
示例2: test_network_disable_multiple_themes
/**
* Disable multiple themes on a network.
*
* @ticket 30594
*/
function test_network_disable_multiple_themes()
{
if (!is_multisite()) {
$this->markTestSkipped('This test requires multisite');
}
$current_allowed_themes = get_site_option('allowedthemes');
$allowed_themes = array('existing-4' => true, 'existing-5' => true, 'existing-6' => true);
update_site_option('allowedthemes', $allowed_themes);
$disable_themes = array('existing-4', 'existing-5');
WP_Theme::network_disable_theme($disable_themes);
$new_allowed_themes = get_site_option('allowedthemes');
update_site_option('allowedthemes', $current_allowed_themes);
// reset previous value.
unset($allowed_themes['existing-4']);
unset($allowed_themes['existing-5']);
$this->assertEqualSetsWithIndex($allowed_themes, $new_allowed_themes);
}
示例3: isset
$themes = isset($_POST['checked']) ? (array) $_POST['checked'] : array();
if (empty($themes)) {
wp_safe_redirect(add_query_arg('error', 'none', $referer));
exit;
}
WP_Theme::network_enable_theme((array) $themes);
wp_safe_redirect(add_query_arg('enabled', count($themes), $referer));
exit;
case 'disable-selected':
check_admin_referer('bulk-themes');
$themes = isset($_POST['checked']) ? (array) $_POST['checked'] : array();
if (empty($themes)) {
wp_safe_redirect(add_query_arg('error', 'none', $referer));
exit;
}
WP_Theme::network_disable_theme((array) $themes);
wp_safe_redirect(add_query_arg('disabled', count($themes), $referer));
exit;
case 'update-selected':
check_admin_referer('bulk-themes');
if (isset($_GET['themes'])) {
$themes = explode(',', $_GET['themes']);
} elseif (isset($_POST['checked'])) {
$themes = (array) $_POST['checked'];
} else {
$themes = array();
}
$title = __('Update Themes');
$parent_file = 'themes.php';
require_once ABSPATH . 'wp-admin/admin-header.php';
echo '<div class="wrap">';