wpseek.com
A WordPress-centric search engine for devs and theme authors
make_site_theme_from_default › WordPress Function
Since1.5.0
Deprecatedn/a
› make_site_theme_from_default ( $theme_name, $template )
| Parameters: (2) |
|
| Returns: |
|
| Defined at: |
|
| Codex: |
Creates a site theme from the default theme.
{@internal Missing Long Description}}Related Functions: make_site_theme_from_oldschool, make_site_theme, register_theme_feature, preview_theme_ob_filter, get_gmt_from_date
Source
function make_site_theme_from_default( $theme_name, $template ) {
$site_dir = WP_CONTENT_DIR . "/themes/$template";
$default_dir = WP_CONTENT_DIR . '/themes/' . WP_DEFAULT_THEME;
/*
* Copy files from the default theme to the site theme.
* $files = array( 'index.php', 'comments.php', 'comments-popup.php', 'footer.php', 'header.php', 'sidebar.php', 'style.css' );
*/
$theme_dir = @opendir( $default_dir );
if ( $theme_dir ) {
while ( ( $theme_file = readdir( $theme_dir ) ) !== false ) {
if ( is_dir( "$default_dir/$theme_file" ) ) {
continue;
}
if ( ! copy( "$default_dir/$theme_file", "$site_dir/$theme_file" ) ) {
return;
}
chmod( "$site_dir/$theme_file", 0777 );
}
closedir( $theme_dir );
}
// Rewrite the theme header.
$stylelines = explode( "\n", implode( '', file( "$site_dir/style.css" ) ) );
if ( $stylelines ) {
$f = fopen( "$site_dir/style.css", 'w' );
$headers = array(
'Theme Name:' => $theme_name,
'Theme URI:' => __get_option( 'url' ),
'Description:' => 'Your theme.',
'Version:' => '1',
'Author:' => 'You',
);
foreach ( $stylelines as $line ) {
foreach ( $headers as $header => $value ) {
if ( str_contains( $line, $header ) ) {
$line = $header . ' ' . $value;
break;
}
}
fwrite( $f, $line . "\n" );
}
fclose( $f );
}
// Copy the images.
umask( 0 );
if ( ! mkdir( "$site_dir/images", 0777 ) ) {
return false;
}
$images_dir = @opendir( "$default_dir/images" );
if ( $images_dir ) {
while ( ( $image = readdir( $images_dir ) ) !== false ) {
if ( is_dir( "$default_dir/images/$image" ) ) {
continue;
}
if ( ! copy( "$default_dir/images/$image", "$site_dir/images/$image" ) ) {
return;
}
chmod( "$site_dir/images/$image", 0777 );
}
closedir( $images_dir );
}
}