Soporte » Diseño – Temas y plantillas » Página sin Cabecera ni menú

  • Resuelto novadehistoria

    (@novadehistoria)


    Buenas noches:

    Estoy buscando crear una plantilla php para utilizar en una página. La idea es simple: quitar la header, el menu y el footer y que sólo se vea lo que escriba en el cuerpo de la entrada.

    La dirección es esta: http://www.novadehistoria.com (la tengo como página de llegada)

    Y el código del archivo php de base que estoy usando es éste:

    <?php
    /*
    Template Name: Aterrizaje
    */
    ?>
    
    <?php
    	get_header(false);
    ?>
    
    <div id="primary" class="site-content">
    	<div id="content" role="main">
    		<div class="row-fluid page">
    			<article id="post-<?php the_ID(); ?>" <?php post_class( 'clearfix' ); ?>>
    				<header class="entry-header">
    					<h1 class="entry-title"><?php single_post_title(); ?></h1>
    				</header>
    				<!-- end .entry-header -->
    
    				<div class="entry-content clearfix">
    					<?php
    						if ( have_posts() ) :
    							while ( have_posts() ) : the_post();
    
    								the_content();
    
    								wp_link_pages( array( 'before' => '<div class="page-links">' . __( 'Pages:', 'read' ), 'after' => '</div>' ) );
    
    							endwhile;
    						endif;
    						wp_reset_query();
    					?>
    				</div>
    				<!-- end .entry-content -->
    			</article>
    			<!-- end .post -->
    
    			<?php
    				comments_template( "", true );
    			?>
    		</div>
    		<!-- end .row -->
    	</div>
    	<!-- end #content -->
    </div>
    <!-- end #primary -->
    
    <?php
    	get_footer();
    ?>

    ¿Podrían ayudarme?
    MUCHAS GRACIAS.

Viendo 15 respuestas - 1 de 15 (de 26 total)
  • Moderador Mariano Perez

    (@mpcdigital)

    Quita las funciones get_header y get_footer, ¿no?

    Mariano, gracias por tu pronta respuesta, pero parece algo más complicado que eso. Lo intenté de esa manera y la página queda en blanco, sin el contenido que le coloco.

    Moderador LGrusin

    (@lgrusin)

    En todo caso tendrás que quitar los elementos que no te interesen del header y footer. Tanto uno como otro son necesarios.

    Un saludo

    Perdona mi torpeza LGrusin, no te entiendo muy bien. Lo que pretendo quitar es el logo, la descripción, los menús y el footer; pero cuando he borrado esos elementos, la página no funciona, se queda absolutamente en blanco.

    Dejándola así me ocurre eso que digo:

    <?php
    /*
    Template Name: Aterrizaje
    */
    ?>
    
    <div id="primary" class="site-content">
    	<div id="content" role="main">
    		<div class="row-fluid page">
    			<article id="post-<?php the_ID(); ?>" <?php post_class( 'clearfix' ); ?>>
    				<header class="entry-header">
    					<h1 class="entry-title"><?php single_post_title(); ?></h1>
    				</header>
    				<!-- end .entry-header -->
    
    				<div class="entry-content clearfix">
    					<?php
    						if ( have_posts() ) :
    							while ( have_posts() ) : the_post();
    
    								the_content();
    
    								wp_link_pages( array( 'before' => '<div class="page-links">' . __( 'Pages:', 'read' ), 'after' => '</div>' ) );
    
    							endwhile;
    						endif;
    						wp_reset_query();
    					?>
    				</div>
    				<!-- end .entry-content -->
    			</article>
    			<!-- end .post -->
    
    			<?php
    				comments_template( "", true );
    			?>
    		</div>
    		<!-- end .row -->
    	</div>
    	<!-- end #content -->
    </div>
    <!-- end #primary -->

    Muchas gracias de nuevo.

    Moderador LGrusin

    (@lgrusin)

    Claro, es que esa página que has puesto carece de header y footer que es donde se encuentran las aperturas y cierres del código HTML.

    Sin necesidad de hacer una plantilla de página puedes quitar del header y del footer lo que no quieras. Se trata de eliminar el código del logo, menú, etc, no de eliminar el header completo, lo mismo del footer.

    Es más, puedes personalizar tu propios header y footer simplemente llamándolos en el index.php o donde quieras. Es decir, suponiendo un header-mio.php la llamada es get_header(mio); lo mismo con el get_footer();

    Lo mejor es que estudies un tema existente más sencillo, si el que tienes no lo entiendes.

    Un saludo

    Sí sí. Ese es de un tema existente pero de una plantilla que estoy creando para una página. ¿Cómo podría, para esa plantilla que utilizaré en una página, quitarlo todo y quedarme sólo con el contenido de la página que decida poner? Porque en el resto del blog quiero que aparezca todo eso que aquí quiero quitar.

    Voy a intentarlo creando un header diferente, vacío quizás…

    Moderador LGrusin

    (@lgrusin)

    Sin acceso al código del tema es imposible decirte.

    El tema debe venir con plantillas de páginas que puedes copiar y modificar.

    Puedes hacer lo que te digo. Copia header.php como header-plantilla.php y footer.php como footer-plantilla.php (o el nombre que quieras).

    Después en la nueva plantilla de página cambias get_header(); por get_header(plantilla); y get_footer(); por get_footer(plantilla);

    De esta forma sólo tienes que trabajar en los archivos header-plantilla.php y footer-plantilla.php que personalizas como quieras y que son los que contienen el logo, menú, widgets, etc.

    Saludos

    Esto he hecho, pero en el header original me aparece:

    > >
     
    
    'top_menu', 'menu_id' => 'nav', 'menu_class' => "menu-custom", 'theme_location' => 'top_menu', 'container' => false, 'depth' => 0, 'fallback_cb' => 'wp_page_menu2' ) ); $nav_menu_search = get_option( 'nav_menu_search', 'No' ); if ( $nav_menu_search == 'Yes' ) { ?>

    Y al quitarlo la página me da error: novadehistoria.com

    Deduzco que no he sabido que quitar.
    Mil perdones por mi ignorancia.

    Moderador LGrusin

    (@lgrusin)

    Vuelve a reponer el archivo header.php original.

    ¿Por qué no haces lo que te estoy diciendo?

    Sí, eso hice (creo). He creado un archivo php llamado header-vacio.php con el mismo código (de momento) que el archivo header porque no sé qué quitar. Pero en el php de la plantilla «Aterrizaje» he puesto como me dices get_header(vacio) y me da ese error…

    Ya sé qué ocurre, no me deja crear el header-vacio.php con el código que le pongo, el mismo que header.

    Cuando abro el php en el editor TextEdit sí lo veo bien, pero si lo previsualizo pulsando espacio (tengo mac) se ve más o menos lo que sale en la página…

    Me expresé mal, el header original no lo toqué. Copié su código al nuevo header-vacio y puse en la plantilla get-header(vacio). Pero no funciona por los motivos que comenté.

    Este es el código al que he podido acceder a través de page, pues en TextEdit me aparecía el anterior:

    <!doctype html>
    
    <html <?php language_attributes(); ?>>
    <head>
    	<meta charset="<?php echo get_bloginfo( 'charset' ); ?>">
    
    	<?php
    		$mobile_zoom = get_option( 'mobile_zoom', 'No' );
    
    		if ( $mobile_zoom == 'Yes' )
    		{
    			?>
    
    <meta name="viewport" content="width=device-width, initial-scale=1">
    
    			<?php
    		}
    		else
    		{
    			?>
    
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    
    			<?php
    		}
    		// end if
    	?>
    
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    
    	<title><?php wp_title( '|', true, 'right' ); ?></title>
    
        <!--[if lte IE 9]>
            <script src="<?php echo get_template_directory_uri(); ?>/js/html5shiv.js"></script>
            <script src="<?php echo get_template_directory_uri(); ?>/js/selectivizr-min.js"></script>
        <![endif]-->
    
    	<?php
    		if ( is_singular() && get_option( 'thread_comments' ) )
    		{
    			wp_enqueue_script( 'comment-reply' );
    		}
    	?>
    
    	<?php
    		wp_head();
    	?>
    </head>
    
    <body <?php body_class(); ?>>
    
        <div id="page" class="hfeed site">
            <header class="site-header wrapper" role="banner">
    			<div class="row">
    			    <hgroup>
    					<h1 class="site-title">
    						<?php
    							$logo_type = get_option( 'logo_type', 'Text Logo' );
    
    							if ( $logo_type == 'Text Logo' )
    							{
    								$select_text_logo = get_option( 'select_text_logo', 'WordPress Site Title' );
    
    								if ( $select_text_logo == 'WordPress Site Title' )
    								{
    									$text_logo_out = get_bloginfo( 'name' );
    								}
    								else
    								{
    									$text_logo_out = stripcslashes( get_option( 'theme_site_title', "" ) );
    								}
    								// end if
    
    								?>
    									<a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php echo $text_logo_out; ?></a>
    								<?php
    							}
    							else
    							{
    								$logo_image = get_option( 'logo_image', "" );
    
    								?>
    									<a rel="home" href="<?php echo esc_url( home_url( '/' ) ); ?>">
    										<img alt="<?php bloginfo( 'name' ); ?>" src="<?php echo $logo_image; ?>">
    									</a>
    								<?php
    							}
    							// end if
    						?>
    					</h1>
    					<!-- end .site-title -->
    
    					<h2 class="site-description">
    						<?php
    							$select_tagline = get_option( 'select_tagline', 'WordPress Tagline' );
    
    							if ( $select_tagline == 'WordPress Tagline' )
    							{
    								$tagline_out = get_bloginfo( 'description' );
    							}
    							else
    							{
    								$tagline_out = stripcslashes( get_option( 'theme_tagline', "" ) );
    							}
    							// end if
    
    							echo $tagline_out;
    						?>
    					</h2>
    					<!-- end .site-description -->
    			    </hgroup>
    
    				<?php
    					if ( ! function_exists( 'dynamic_sidebar' ) || ! dynamic_sidebar( 'header_sidebar' ) ) :
    					endif;
    				?>
    
    			    <nav id="site-navigation" class="main-navigation" role="navigation">
    					<?php
    						wp_nav_menu( array( 'menu' => 'top_menu',
    											'menu_id' => 'nav',
    											'menu_class' => "menu-custom",
    											'theme_location' => 'top_menu',
    											'container' => false,
    											'depth' => 0,
    											'fallback_cb' => 'wp_page_menu2' ) );
    
    						$nav_menu_search = get_option( 'nav_menu_search', 'No' );
    
    						if ( $nav_menu_search == 'Yes' )
    						{
    							?>
    								<script>
    									var nav_menu_search = '<li class="nav-menu-search"><form id="search-form" role="search" method="get" action="<?php echo home_url( "/" ); ?>"><label class="screen-reader-text" for="search"><?php echo __( "Search", "read" ); ?></label><input type="text" id="search" name="s" title="<?php echo __( "Enter keyword", "read" ); ?>" value="" required="required"><input type="submit" id="search-submit" title="<?php echo __( "Search it", "read" ); ?>" value="<?php echo __( "→", "read" ); ?>"></form></li>';
    
    									(function($)
    									{
    										$( '#site-navigation > ul' ).append( nav_menu_search );
    
    									})(jQuery);
    								</script>
    							<?php
    						}
    						// end if
    					?>
    			    </nav>
    			    <!-- end #site-navigation -->
    			</div>
    			<!-- end .row -->
            </header>
            <!-- end .site-header -->
    
    		<?php
    			$blog_type = get_option( 'blog_type', 'Sidebar' );
    
    			$post_sidebar = get_option( 'post_sidebar', 'Yes' );
    
    			if ( ( $blog_type == 'Sidebar' ) || ( $post_sidebar == 'Yes' ) )
    			{
    				if ( is_home() || is_archive() || is_single() || is_page_template( 'page-sidebar.php' ) )
    				{
    					$blog_type_out = 'blog-with-sidebar';
    				}
    				// end if
    			}
    			else
    			{
    				$blog_type_out = "";
    			}
    			// end if
    		?>
    
            <section id="main" class="middle wrapper">
    			<div class="row row-fluid <?php echo $blog_type_out; ?>">

    ¿Alguien podría decirme qué debo quitar de ahí para quedarme sin logo, cabecera, menú…? Muchas gracias.

    Moderador LGrusin

    (@lgrusin)

    Como quieras…

    Para eliminar el logo todo esto sobra:

    <h1 class="site-title">
    <?php
    $logo_type = get_option( 'logo_type', 'Text Logo' );
    if ( $logo_type == 'Text Logo' )
    {
    $select_text_logo = get_option( 'select_text_logo', 'WordPress Site Title' );
    if ( $select_text_logo == 'WordPress Site Title' )
    {
    $text_logo_out = get_bloginfo( 'name' );
    }
    else
    {
    $text_logo_out = stripcslashes( get_option( 'theme_site_title', "" ) );
    }
    // end if
    ?>
    <a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php echo $text_logo_out; ?></a>
    <?php
    }
    else
    {
    $logo_image = get_option( 'logo_image', "" );
    ?>
    <a rel="home" href="<?php echo esc_url( home_url( '/' ) ); ?>">
    <img alt="<?php bloginfo( 'name' ); ?>" src="<?php echo $logo_image; ?>">
    </a>
        								<?php
    }
    // end if
    ?>
    </h1>

    Para eliminar la descripción del sitio:

    <h2 class="site-description">
    <?php
    $select_tagline = get_option( 'select_tagline', 'WordPress Tagline' );
    if ( $select_tagline == 'WordPress Tagline' )
    {
    $tagline_out = get_bloginfo( 'description' );
    }
    else
    {
    $tagline_out = stripcslashes( get_option( 'theme_tagline', "" ) );
    }
    // end if
    echo $tagline_out;
    ?>
    </h2>

    Para eliminar el Menú:

    <nav id="site-navigation" class="main-navigation" role="navigation">
    <?php
    wp_nav_menu( array( 'menu' => 'top_menu',
    'menu_id' => 'nav',
    'menu_class' => "menu-custom",
    'theme_location' => 'top_menu',
    'container' => false,
    'depth' => 0,
    'fallback_cb' => 'wp_page_menu2' ) );
    $nav_menu_search = get_option( 'nav_menu_search', 'No' );
    if ( $nav_menu_search == 'Yes' )
    {
    ?>
    <script>
    var nav_menu_search = '<li class="nav-menu-search"><form id="search-form" role="search" method="get" action="<?php echo home_url( "/" ); ?>"><label class="screen-reader-text" for="search"><?php echo __( "Search", "read" ); ?></label><input type="text" id="search" name="s" title="<?php echo __( "Enter keyword", "read" ); ?>" value="" required="required"><input type="submit" id="search-submit" title="<?php echo __( "Search it", "read" ); ?>" value="<?php echo __( "?", "read" ); ?>"></form></li>';
       								(function($)
    {
    $( '#site-navigation > ul' ).append( nav_menu_search );
    })(jQuery);
    </script>
    <?php
    }
    // end if
    ?>
    </nav>

    Saludos

Viendo 15 respuestas - 1 de 15 (de 26 total)
  • El debate ‘Página sin Cabecera ni menú’ está cerrado a nuevas respuestas.