Ver Mensaje Individual
  #10 (permalink)  
Antiguo 03/04/2012, 06:54
m0nd
 
Fecha de Ingreso: marzo-2012
Mensajes: 14
Antigüedad: 12 años, 1 mes
Puntos: 4
Respuesta: No carga style.css

Por fin lo he resuelto.
Al yo añadir varias plantillas y ver que no cogían el mismo estilo (aunque fueran copias exactas simplementa cambio el nombre del archivo y plantilla) deduje que era cosa del wordpress así que comencé a investigar.
En el archivo header.php se incluye esta línea:
Código PHP:
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
Y ello hace que se carge una determinada plantilla según por donde nos movamos en la web.
Usando el firebug me di cuenta que con la plantilla inicial (page.php) el código anterior se traducía en lo siguiente:
Código HTML:
<body class="page page-id-45 page-parent page-template page-template-page-php logged-in"> 
Como se está usando la plantilla genérica (el page.php) en el body se incluye la clase page-template-page-php de la cual existe el estilo... pero al yo crear una plantilla nueva partiendo de page.php como base, al renombrarla por ejemplo a page-nueva.php (y llamarla diferente, por ejemplo "nueva plantilla") en el body ya la clase que se incluye no es page-template-page-php sino page-template-page-nueva-php de la cual no existe estilo.
Así que tendría 2 soluciones:
- Crear un estilo nuevo para esa plantilla, que ademas de ser una copia del resto, tendría que crear uno nuevo para cada plantilla... absurdo si el estilo va a ser el mismo, no?
- Obligar a que page-nueva.php coja el mismo estilo que page.php

Como no se como funciona exactamente el código bloginfo() para evitar que vaya cogiendo las clases que considere oportunas opté por añadir al primer div de mi plantilla el tag class="page-template-page-php para así obligarle a que use el mismo estilo que las páginas con la plantilla original... y ha funcionado.
No se si es la manera correcta pero he conseguido resolver el fallo, que viéndolo ahora parece una tontería.

Código PHP:
<?php
get_header
();
if (!
is_user_logged_in()) {
    
wp_redirect(home_url());
    exit;
}
get_sidebar('menu');
?>
    
<div id="cuerpo" class="page-template-page-php">
    <div id="contenido">
        <?php if (have_posts()) : while(have_posts()) : the_post(); ?>
            <h1 class="main-title"><?php the_title(); ?></h1>
            <div class="genericologged">
                <?php the_content(); ?>
            </div>
        <?php endwhile; endif; ?>
    </div>
</div>

<?php get_footer(); ?>
Mi error fue en no entender bien el style.css y pensar que se cogía el estilo de las clases contenido y cuerpo.

Saludos y gracias por la ayuda!


PD: Esta página me sirvió de ayuda --> [URL="http://wpmu.org/how-to-use-the-body-class-tag-to-apply-custom-styles-to-wordpress-pages/"]http://wpmu.org/how-to-use-the-body-class-tag-to-apply-custom-styles-to-wordpress-pages/[/URL]

Última edición por m0nd; 03/04/2012 a las 07:05