¿Está buscando una forma de ajustar la configuración de WordPress al activar un tema? Este fragmento cambiará la configuración predeterminada de WordPress cuando se active el tema. Este fragmento también elimina la publicación, página y comentario predeterminados que se crean cuando se instala WordPress.
Instrucciones:
- Todo lo que tiene que hacer es agregar este código al archivo functions.php de su tema.
- Edite la configuración en el fragmento para que se ajuste a sus necesidades.
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, '"' ) . '";' ) );
}
}
Nota: Si es la primera vez que agregas fragmentos de código en WordPress, consulta nuestra guía sobre cómo copiar / pegar fragmentos de código correctamente en WordPress, para que no rompas accidentalmente tu sitio.
Si te gustó este fragmento de código, considera echar un vistazo a nuestros otros artículos en el sitio como: Cómo crear una página de inicio de sesión personalizada en WordPress y Los 11 mejores plugins de WordPress para escritores.
¿Qué más podemos hacer con esto?
Muy bien. Aunque, ¿podemos cambiar la configuración de la estructura de los enlaces permanentes?