• Resuelto tryingwithwp

    (@mariaipr)


    Buenas tardes,

    Para una de las páginas de mi web quise añadir una plantilla diferente ya que quería que estuviese dividida en 2 partes. Para ello, copié el archivo page.php y lo renombré como sobre_mi.php. A su vez hice la copia de style.css y la renombré a sobre-mi.css añadiendo los cambios que quería. El caso es que no consigo que esa página me coja ese css.

    Aclarar que a la hora de editar la página, en elección de plantilla ya le he puesto que escoja la nueva: sobre_mi.php. Y que si hago el cambio que quiero hacer en esa página globalmente me funciona, pero no lo quiero global, lo quiero solo en esa página.

    ¿Tendría que añadir algo en el sobre_mi.php para que me coja el nuevo archivo css sobre-mi.css?

    Gracias de antemano.

Viendo 7 respuestas - de la 1 a la 7 (de un total de 7)
  • Colócalo al final de tu archivo. Eso va a depender de como hayas programado tu página.

    Pues ponerlo inmediatamente antes de la etiqueta </head> o antes de la etiqueta </body>. El caso es que tiene que ser la última hoja de estilos que cargue el navegador.

    Lo mejor que puedes hacer es usar PHP.
    En tu header.php justo debajo de la última llamada CSS indica:

    <?php if( is_page(10) ){ ?>
        <link rel="stylesheet" href="<?php bloginfo('template_url')?>/css/tu_estilo.css" type="text/css" />
        <?php }  else {  ?>

    Donde «10» es la ID de tu página y «/css/tu_estilo.css» es la ruta y nombre donde se encuentra tu CSS.
    También puedes usar el nombre de la página en vez de la ID.

    Todo esto se explica aquí: codex is_page

    Espero que te sirva

    Iniciador del debate tryingwithwp

    (@mariaipr)

    Gracias por las respuestas.

    He ido a hacer lo que has comentado Anaïs pero la verdad que no sé muy bien dónde colocarlo. Acabé poniendolo debajo de todo el código pero producía error. ¿Me podrías decir dónde colocarlo?

    Aquí te adjunto el código de mi header.php

    ?php
    /**
     * The Header for our theme.
     *
     * Displays all of the <head> section and everything up till <main id="main">
     *
     * @package Sela
     */
    ?><!DOCTYPE html>
    <html <?php language_attributes(); ?>>
    <head>
    <meta charset="<?php bloginfo( 'charset' ); ?>">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title><?php wp_title( '|', true, 'right' ); ?></title>
    <link rel="profile" href="http://gmpg.org/xfn/11">
    <link rel="pingback" href="<?php bloginfo( 'pingback_url' ); ?>">
    
    <?php wp_head(); ?>
    <script>
      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
    
      ga('create', 'UA-60748449-1', 'auto');
      ga('send', 'pageview');
    </script>
    </head>
    
    <body <?php body_class(); ?>>
    <div id="page" class="hfeed site">
    	<?php do_action( 'before' ); ?>
    	<header id="masthead" class="site-header" role="banner">
    
    		<div class="site-branding">
    			<?php if ( get_header_image() ) : ?>
    			<div class="site-image">
    				<a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home" class="header-image-link">
    					<img src="<?php header_image(); ?>" width="<?php echo get_custom_header()->width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="" />
    				</a>
    			</div><!-- .header-image -->
    			<?php endif; ?>
    
    			<?php sela_the_site_logo(); ?>
    
    			<h1 class="site-title"><a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
    
    			<?php if ( '' != get_bloginfo( 'description' ) ) : ?>
    			<h2 class="site-description"><?php bloginfo( 'description' ); ?></h2>
    			<?php endif; ?>
    		</div><!-- .site-branding -->
    
    		<nav id="site-navigation" class="main-navigation" role="navigation">
    			<h1 class="menu-toggle"><?php _e( 'Menu', 'sela' ); ?></h1>
    			<div class="screen-reader-text skip-link"><a href="#content" title="<?php esc_attr_e( 'Skip to content', 'sela' ); ?>"><?php _e( 'Skip to content', 'sela' ); ?></a></div>
    
    			<?php wp_nav_menu( array( 'theme_location' => 'primary' ) ); ?>
    		</nav><!-- #site-navigation -->
    	</header><!-- #masthead -->
    
    	<div id="content" class="site-content">

    Y siguiendo lo que me dijiste, le añadí esto

    <?php if( is_page(135) ){ ?>
        <link rel="stylesheet" href="<?php bloginfo('template_url')?>sobre-mi.css" type="text/css" />
        <?php }  else {  ?>

    Siendo 135 el id de la página como dijiste y sobre-mi.css el archivo que se encuentra a la misma altura que el header.php.

    Gracias!

    Moderador almendron

    (@almendron)

    Te sale error porque Anaïs no se ha dado cuenta y ha puesto el código incompleto.
    Prueba con

    <?php if( is_page($page) ){ ?>
        <link rel="stylesheet" href="<?php bloginfo('template_url')?>/tu_estilo.css" type="text/css" media="screen" />
    <?php } ?>

    Donde $page puede tomar los siguientes valores: https://codex.wordpress.org/Function_Reference/is_page
    Donde template_url es la dirección de la plantilla que usas. Si el estilo se encuentra en la raíz de dicha carpeta, entonces tal y como te lo he puesto. Si estuviera dentro de otra, entonces sería cambiar /tu_estilo.css por /carpeta/tu_estilo.css.

    En cuanto al lugar de colocación es el header.php pero lo veo un poco raro: ¿Qué tema usas?

    Iniciador del debate tryingwithwp

    (@mariaipr)

    Ay, vaya despiste por parte de las dos. Ahora sí, me funciona tal y como quería 🙂

    Muchísimas gracias a los tres!

    Como me has preguntado lo del tema, te lo coloco igualmente: https://theme.wordpress.com/themes/sela/

    Nuevamente, mil gracias! 🙂

    Iniciador del debate tryingwithwp

    (@mariaipr)

    Marco como resuelto ^^

    Moderador almendron

    (@almendron)

    De nada. Un saludo.
    PD. Lo de saber el tema era solo por si no te funcionaba.

Viendo 7 respuestas - de la 1 a la 7 (de un total de 7)
  • El debate ‘Llamada a un archivo .css desde un archivo nuevo page.php’ está cerrado a nuevas respuestas.