Created
February 7, 2013 16:13
-
-
Save INDIAN2020/4731997 to your computer and use it in GitHub Desktop.
Adjust settings on theme activation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
Adjust settings on theme activation | |
Place this in your functions.php to adjust your default WordPress settings when activating your theme for the first time. This function also deletes the default post, page and comment that are created when you install WordPress. | |
*/ | |
add_action( 'after_setup_theme', 'the_theme_setup' ); | |
function the_theme_setup() | |
{ | |
// First we check to see if our default theme settings have been applied. | |
$the_theme_status = get_option( 'theme_setup_status' ); | |
// If the theme has not yet been used we want to run our default settings. | |
if ( $the_theme_status !== '1' ) { | |
// Setup Default WordPress settings | |
$core_settings = array( | |
'avatar_default' => 'mystery', // Comment Avatars should be using mystery by default | |
'avatar_rating' => 'G', // Avatar rating | |
'comment_max_links' => 0, // We do not allow links from comments | |
'comments_per_page' => 20 // Default to 20 comments per page | |
); | |
foreach ( $core_settings as $k => $v ) { | |
update_option( $k, $v ); | |
} | |
// Delete dummy post, page and comment. | |
wp_delete_post( 1, true ); | |
wp_delete_post( 2, true ); | |
wp_delete_comment( 1 ); | |
// Once done, we register our setting to make sure we don't duplicate everytime we activate. | |
update_option( 'theme_setup_status', '1' ); | |
// Lets let the admin know whats going on. | |
$msg = ' | |
<div class="error"> | |
<p>The ' . get_option( 'current_theme' ) . 'theme has changed your WordPress default <a href="' . admin_url() . 'options-general.php" title="See Settings">settings</a> and deleted default posts & comments.</p> | |
</div>'; | |
add_action( 'admin_notices', $c = create_function( '', 'echo "' . addcslashes( $msg, '"' ) . '";' ) ); | |
} | |
// Else if we are re-activing the theme | |
elseif ( $the_theme_status === '1' and isset( $_GET['activated'] ) ) { | |
$msg = ' | |
<div class="updated"> | |
<p>The ' . get_option( 'current_theme' ) . ' theme was successfully re-activated.</p> | |
</div>'; | |
add_action( 'admin_notices', $c = create_function( '', 'echo "' . addcslashes( $msg, '"' ) . '";' ) ); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment