Support » Teemat ja mallit » Page template , header ja footer

  • Tervehdys kaikki kanssapelaajat. Kysymykseni liittyy page templateen jolla määrätään sivun pohja. Ongelmani on se että haluaisin tyhjän sivun näyttävän pelkän kartan jolla on oma shortcode [wpgmza id=”1″].(wp google maps)

    Kuitenkin en osaa poistaa oikeaa määrää koodia jotta sivulla näkyisi pelkkä kartta.

    Page template on siis tehty ja kaikki sen säädöt on tehty kuten ohjeessa. Pitäisi siis päästä eroon oikeasta määrästä koodia jotta pelkkä kartta näkysisi .

    Kiitos Vastauksista!

    <?php /* Template Name: page-tyhja */ ?>

    <?php get_header(); ?>

    <?php
    if( have_posts() ){
    while( have_posts() ){
    the_post();

    if( mythemes_options::get( ’breadcrumbs’ ) ){
    ?>
    <div class=”mythemes-breadcrumbs”>

    <div class=”container”>
    <div class=”row”>
    <div class=”col-lg-12″>
    <nav class=”mythemes-navigation”>

      <?php
      echo mythemes_breadcrumbs::home();
      echo mythemes_breadcrumbs::pages( $post );
      ?>

    </nav>
    <h1><?php the_title(); ?></h1>
    </div>
    </div>
    </div>

    </div>

    <?php
    }
    ?>

    <?php
    $no_padding_cl = ”;

    if( !absint( mythemes_meta::get( $post -> ID, ’top-space’, 1 ) ) ){
    $no_padding_cl .= ’no-padding-top’;
    }

    if( !absint( mythemes_meta::get( $post -> ID, ’bottom-space’, 1 ) ) ){
    $no_padding_cl .= ’ no-padding-bottom’;
    }
    ?>

    <div class=”content main-content <?php echo esc_attr( $no_padding_cl ); ?>”>
    <div class=”container”>
    <div class=”row”>

    <?php
    global $mythemes_layout;

    $mythemes_layout = new mythemes_layout( ’page’, $post -> ID );

    /* LEFT SIDEBAR */
    $mythemes_layout -> sidebar( ’left’ );
    ?>
    <!– CONTENT –>
    <section class=”<?php echo esc_attr( $mythemes_layout -> classes() ); ?>”>

    <?php
    $classes = ’mythemes-page’;
    if( mythemes_meta::get( $post -> ID, ’content-boxed’ ) ){
    $classes .= ’ content-boxed’;
    }
    ?>

    <div <?php post_class( esc_attr( $classes ) ); ?>>

    <?php
    if( has_post_thumbnail() ){
    ?>
    <div class=”post-thumbnail”>
    <?php echo get_the_post_thumbnail( $post -> ID , ’full’ , array( ’alt’ => esc_attr( get_the_title( $post -> ID ) ) ) ); ?>
    <?php $p_thumbnail = get_post( get_post_thumbnail_id() ); ?>
    <?php $c_thumbnail = isset( $p_thumbnail -> post_excerpt ) ? esc_html( $p_thumbnail -> post_excerpt ) : ”; ?>
    <?php if( !empty( $c_thumbnail ) ) { ?>
    <footer><?php echo esc_html( $c_thumbnail ); ?></footer>
    <?php } ?>
    </div>
    <?php
    }
    ?>

    <!– CONTENT –>
    <?php the_content(); ?>

    <div class=”clearfix”></div>

    <?php
    wp_link_pages( array(
    ’before’ => ’<div class=”mythemes-paged-post”><span class=”mythemes-pagination-title”>’ . __( ’Pages’, ’cannyon_’ ) . ’: </span>’,
    ’after’ => ’</div>’,
    ’link_before’ => ’<span class=”mythemes-pagination-item”>’,
    ’link_after’ => ’</span>’
    ));
    ?>

    <div class=”clearfix”></div>
    </div>

    <!– COMMENTS –>
    <?php comments_template(); ?>

    </section>

    <?php
    /* RIGHT SIDEBAR */
    $mythemes_layout -> sidebar( ’right’ );
    ?>

    </div>
    </div>
    </div>

    <?php
    } /* END PAGE */
    }
    ?>

    <?php get_footer(); ?>

Esillä 8 vastausta, 1 - 8 (kaikkiaan 8)
  • Sivun sisällön näyttää tämä kohta: <?php the_content(); ?>

    Jos sen tilalle laittaa

    <?php echo do_shortcode("[wpgmza id='1']"); ?>

    näkyy sivun sisällön sijasta tuo shortcode.

    Thread Starter aatu2016

    (@aatu2016)

    Kiitos. Jotain tällä komennolla sain aikaan mutten sitä mitä etsin.Valikkorivi yläällä ja footer alaalla näkyy edelleen. Näistäkin pitäisi päästä eroon.
    Sivulla ei tulisi näkyä muuta kuin kartta.

    Kiitos vastauksista -Aatu

    Valikot eivät tule tästä templatesta, vaan get_header() lataa otsikkotemplaten, josta ne tulevat. Tuosta ei voi kuitenkaan ottaa tuota get_header():ia pois, koska se rikkoo muuta toiminnallisuutta, joten header.php:ssa pitää tehdä säätöjä ja sulkea valikot pois kun tämä template on käytössä.

    Footerin kanssa sama, mutta funktio on get_footer() ja tiedosto footer.php.

    Thread Starter aatu2016

    (@aatu2016)

    Jeps. Tässä vaiheessa vielä sormi suussa. Eli koodin pätkä vielä hukassa ja mihin väliin se tulee.
    Oiskohan se If-page_tyhja ja php tjsp.. 🙂

    Kiitos vastauksista!

    Alla header.php

    <!DOCTYPE html>
    <html <?php language_attributes(); ?>>
    <head>
    <meta charset=”<?php bloginfo( ’charset’ ); ?>” />
    <meta name=”viewport” content=”width=device-width, initial-scale=1.0″ />
    <meta http-equiv=”X-UA-Compatible” content=”IE=9″ />
    <link rel=”profile” href=”http://gmpg.org/xfn/11&#8243; />
    <link rel=”pingback” href=”<?php bloginfo( ’pingback_url’ ); ?>” />
    <?php wp_head(); ?>
    </head>
    <body <?php body_class( ’mythemes-hidden mythemes-autoload’ ); ?>>
    <?php
    if( is_singular() ){
    ?>
    <div id=”fb-root”></div>
    <script>
    (function(d, s, id) {
    var js, fjs = d.getElementsByTagName(s)[0];
    if (d.getElementById(id)) return;
    js = d.createElement(s); js.id = id;
    js.src = ”//connect.facebook.net/en_GB/sdk.js#xfbml=1&appId=252156114891794&version=v2.3”;
    fjs.parentNode.insertBefore(js, fjs);
    }(document, ’script’, ’facebook-jssdk’));
    </script>

    <?php
    /* USE SHORTCODES BEFORE HEADER */
    $use_header_shortcodes = mythemes_meta::g( $post -> ID , ’use-header-shortcodes’ );
    $use_before_header = esc_attr( mythemes_meta::g( $post -> ID , ’shortcodes-position’ ) ) == ’before’;

    if( $use_header_shortcodes && $use_before_header ){
    echo do_shortcode( htmlspecialchars_decode( mythemes_meta::_g( $post -> ID , ’shortcodes-content’ ) ) );
    }
    }
    ?>

    <header>
    <?php
    $header_template = mythemes_options::get( ’header-template’ );
    switch ( $header_template ) {
    case ’topper-header-tools’:{
    get_template_part( ’templates/topper’ );
    get_template_part( ’templates/header’ );
    get_template_part( ’templates/tools’ );
    break;
    }
    case ’tools-header-topper’:{
    get_template_part( ’templates/tools’ );
    get_template_part( ’templates/header’ );
    get_template_part( ’templates/topper’ );
    break;
    }
    case ’tools-topper-header’:{
    get_template_part( ’templates/tools’ );
    get_template_part( ’templates/topper’ );
    get_template_part( ’templates/header’ );
    break;
    }
    case ’header-topper-tools’:{
    get_template_part( ’templates/header’ );
    get_template_part( ’templates/topper’ );
    get_template_part( ’templates/tools’ );
    break;
    }
    case ’header-tools-topper’:{
    get_template_part( ’templates/header’ );
    get_template_part( ’templates/tools’ );
    get_template_part( ’templates/topper’ );
    break;
    }
    default:{
    get_template_part( ’templates/topper’ );
    get_template_part( ’templates/tools’ );
    get_template_part( ’templates/header’ );
    break;
    }
    }
    ?>
    </header>

    <?php
    if( is_singular() ){

    /* USE SHORTCODES AFTER HEADER */
    $use_header_shortcodes = mythemes_meta::g( $post -> ID , ’use-header-shortcodes’ );
    $use_before_header = esc_attr( mythemes_meta::g( $post -> ID , ’shortcodes-position’ ) ) == ’after’;

    if( $use_header_shortcodes && $use_before_header ){
    echo do_shortcode( htmlspecialchars_decode( mythemes_meta::_g( $post -> ID , ’shortcodes-content’ ) ) );
    }
    }
    ?>

    get_header() ja get_footer() määritteetkin voi toki jättää pois sivupohjalta JOS tuot sivupohjan .php tiedostoon itse suoraan niiltä tarvitsemasi koodit.

    Eli get_header() komento tuo sivupohjalle header.php tiedoston sisällön, jolloin sen editointi on nätisti yhdessä tiedostossa ja samaa koodia ei tarvitse kirjoittaa useaan kertaan.

    Joskus taas jokin sivupohja voi käyttää täysin erilaisia sääntöjä ja koodeja, kuin alkuperäisessä header.php koodissa, joten joissain yksittäistapauksissa voi helpoin ratkaisu olla rakentaa itse tarvittavat koodit suoraan haluttuun sivupohjaan.

    Myös header.php voi toki tehdä erilaisia sääntöjä, että jokin tietty koodinpätkä ladataan vain halutulla sivulla. Esimerkiksi:
    <?php if (is_page( ’sivunnimi’ )){ ?>
    <?php } ?>

    Jolloin esimerkkitapauksessa tagien väliin sijoitettava koodi ajettaisiin vain tämän nimisellä sivulla.

    Jos get_header():n jättää pois, niin pitää olla tarkkana, että wp_head() ajetaan oikeassa kohdassa sivua, muuten menee rikki paljon WP:n elintärkeää toiminnallisuutta. Sama footerin ja wp_footer() kanssa.

    Thread Starter aatu2016

    (@aatu2016)

    Toimisikohan niin että loisi header-1.php ja kaikki koodi pois.
    Sitten get_header(1) siihen templateen?

    Toimis, tosin ei se header-1.php ihan tyhjä voi olla, pitää olla wp_head() ainakin, ja HTML-sivun avauskoodit. Mutta kopioit header.php:n ja poistat kaiken turhan ja säästät vain tarpeellisen, niin hyvä tulee.

Esillä 8 vastausta, 1 - 8 (kaikkiaan 8)
  • The topic ‘Page template , header ja footer’ is closed to new replies.