Autor Zpráva
Marek Pavlíček
Profil
Zdravím,

potřeboval bych prosím poradit, jak udělat, aby se mi header změnil na odkaz na nějakou stránku (aby se na něj dalo kliknout a přesunulo mně to na danou stránku). Teď je header nastavený tak, že je zcela bez odkazu a nedaří se mi to změnit. Je to ve free šabloně, která má ten header proveden na mě ve složitém php, takže potřebuji pomoc.

V klasickém header.php je toto:
</header><!-- #masthead -->
        <div id="header-image" class="col-md-9 col-sm-7 col-xs-12">
            <?php if ( is_single() && has_post_thumbnail() && (get_theme_mod('kurama_featimg','replace') == 'replace' ) ) : ?>
                <h1 class="entry-title"><?php the_title(); ?></h1>
            <?php endif; ?>
        </div>

a v inc/custom-header.php je toto:
<?php
/**
 * Sample implementation of the Custom Header feature
 * http://codex.wordpress.org/Custom_Headers
 *
 * You can add an optional custom header image to header.php like so ...

    <?php if ( get_header_image() ) : ?>
    <a href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home">
        <img src="<?php header_image(); ?>" width="<?php echo esc_attr( get_custom_header()->width ); ?>" height="<?php echo esc_attr( get_custom_header()->height ); ?>" alt="">
    </a>
    <?php endif; // End header image check. ?>

 *
 * @package kurama
 */

/**
 * Set up the WordPress core custom header feature.
 *
 * @uses kurama_header_style()
 * @uses kurama_admin_header_style()
 * @uses kurama_admin_header_image()
 */
function kurama_custom_header_setup() {
    add_theme_support( 'custom-header', apply_filters( 'kurama_custom_header_args', array(
        'default-image'          => get_template_directory_uri().'/assets/images/header.jpg',
        'default-text-color'     => '#d8a33e',
        'height'                 => 721,
        'width'                     => 1920,
        'flex-height'            => true,
        'wp-head-callback'       => 'kurama_header_style',
        'admin-head-callback'    => 'kurama_admin_header_style',
        'admin-preview-callback' => 'kurama_admin_header_image',
    ) ) );
}
add_action( 'after_setup_theme', 'kurama_custom_header_setup' );

if ( ! function_exists( 'kurama_header_style' ) ) :
/**
 * Styles the header image and text displayed on the blog
 *
 * @see kurama_custom_header_setup().
 */
function kurama_header_style() {
    ?>
    <style>
    #header-image {
            background-image: url(<?php header_image(); ?>);
            background-size: <?php echo esc_html(get_theme_mod('kurama_himg_style','cover')); ?>;
            background-position-x: <?php echo esc_html(get_theme_mod('kurama_himg_align','center')); ?>;
            background-repeat: <?php echo get_theme_mod('kurama_himg_repeat') ? "repeat" : "no-repeat" ?>;
            
        }
    href="<?php echo esc_url( home_url( '/' ) ); ?>
    </style>
    <?php
    //Override is user wants his own image, and a thumbnail exists.    
    if ( is_single() && has_post_thumbnail() && (get_theme_mod('kurama_featimg','replace') == 'replace' ) ) :
        global $post;
        $image_data = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), "full" ); ?>
        <style> <?php
        echo "#header-image { background-size: cover; background-image: url(".$image_data[0]."); }"; ?>
        </style><?php
    endif;
}
endif; // kurama_header_style

if ( ! function_exists( 'kurama_admin_header_style' ) ) :
/**
 * Styles the header image displayed on the Appearance > Header admin panel.
 *
 * @see kurama_custom_header_setup().
 */
function kurama_admin_header_style() {
?>
    <style type="text/css">
        .appearance_page_custom-header #headimg {
            border: none;
        }
        #headimg h1,
        #desc {
        }
        #headimg h1 {
        }
        #headimg h1 a {
        }
        #desc {
        }
        #headimg img {
        }
    </style>
<?php
}
endif; // kurama_admin_header_style

if ( ! function_exists( 'kurama_admin_header_image' ) ) :
/**
 * Custom header image markup displayed on the Appearance > Header admin panel.
 *
 * @see kurama_custom_header_setup().
 */
function kurama_admin_header_image() {
    $style = sprintf( ' style="color:#%s;"', get_header_textcolor() );
?>
    <div id="headimg">
        <h1 class="displaying-header-text"><a id="name"<?php echo $style; ?> onclick="return false;" href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo( 'name' ); ?></a></h1>
        <div class="displaying-header-text" id="desc"<?php echo $style; ?>><?php bloginfo( 'description' ); ?></div>
        <?php if ( get_header_image() ) : ?>
        <img src="<?php header_image(); ?>" alt="">
        <?php endif; ?>
    </div>
<?php
}
endif; // kurama_admin_header_image

Díky moc.
milous
Profil
Tam kde chceš aby se odkazovalo, tak tu část musíš obalit <a href='cesta.html'>Titulek odkazu</a>, pokud chceš vypsat menu, tak tam těch odkazů musí být víc. S WP sem nedělal a nechce se mi to googlit (to bys měl spíš ty), takže nevím jak víc poradit, každopádně něco pravděpodobně jako <?php echo esc_url( home_url( '/' ) ); ?> by mělo asi vypisovat odkaz na domovskou stránku.
Marek Pavlíček
Profil
milous:
Díky, ale zkoušel jsem to právě obalovat a nepomohlo to. Ano, to vypisuje odkaz na domovskou stránku, ale ani to mi tam nefunguje.

//edit: nakonec jsem to vyřešil Java scriptem a přidal jsem pouze funkci onclick a v css změnil kurzor na pointer
</header><!-- #masthead -->
        <div id="header-image" class="col-md-9 col-sm-7 col-xs-12" onclick="window.location = '/clanek'">
            <?php if ( is_single() && has_post_thumbnail() && (get_theme_mod('kurama_featimg','replace') == 'replace' ) ) : ?>
                <h1 class="entry-title"><?php the_title(); ?></h1>
            <?php endif; ?>
        </div>

takže vyřešeno :)
milous
Profil
teď jsem si ještě všiml, že v kódu máš onclick="return false;", nemůže být problém v tom?
_es
Profil
Marek Pavlíček:
takže vyřešeno :)
Skôr „vyřešeno“. Nebude fungovať bez JS, vyhľadávače budú taký pseudoodkaz asi ignorovať... Lepšie by bolo vytvoriť normálny odkaz ( Odkazy » a).

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: