slugmandrew
  • 0
Новичок

Как заменить заголовок с двадцатью изображениями на мой флэш-баннер?

  • 0

В настоящее время я создаю сайт, используя дочернюю тему в первый раз.

По сути, у меня есть флэш-баннер, который клиент уже сделал, и я хочу заменить баннер с двадцатью изображениями на флэш-память. Я знаю, как это сделать, отредактировав header.php (я думаю!), но мне было интересно, есть ли лучший способ сделать это — возможно, с помощью function.php в моей дочерней теме?

Было бы неплохо, если бы клиент мог сам обновлять тему и не беспокоиться о том, что заголовок будет изменен обратно.

Спасибо за любой вклад.

Share
  1. Дочерняя тема, безусловно, подходит по причине, которую вы изложили: возможность обновления. Для начала вот документация по созданию дочерних тем: http://codex.wordpress.org/Child_Themes

    Вы захотите создать каталог дочерней темы и отредактировать style.css файл, как описано в ссылке на документацию по дочерней теме выше. После этого просто скопируйте header.php файл из twentyten каталога в каталог и измените его, включив в него имеющийся у вас элемент Flash. При копировании в header.php дочернюю тему она переопределяет версию родительской темы и сохраняется после обновления родительской темы.

    Это блок, который вы хотите отредактировать, так как он создает изображение заголовка:

    <?php
    // Check if this is a post or page, if it has a thumbnail, and if it's a big one
    if ( is_singular() && current_theme_supports( 'post-thumbnails' ) &&
            has_post_thumbnail( $post->ID ) &&
            ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
            $image[1] >= HEADER_IMAGE_WIDTH ) :
        // Houston, we have a new header image!
        echo get_the_post_thumbnail( $post->ID );
    elseif ( get_header_image() ) : ?>
        <img src="<?php header_image(); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" />
    <?php endif; ?>
    

    Я бы просто удалил весь этот PHP-блок и заменил его <object> кодом для вашего flash-элемента. Тем не менее, вы должны убедиться, что элемент flash имеет размер ровно 940 пикселей, иначе он может выглядеть странно/сломать дизайн.

    PHP-блок изображения заголовка расположен в строке 68 моей header.php (в теме WordPress 3.1 двадцать десять) и расположен непосредственно под следующим:

    <div id="site-description"><?php bloginfo( 'description' ); ?></div>
    

    Обратите внимание, что это не является надежным. Если тема двадцать десять будет обновлена ​​в будущем и будет содержать изменения, которые вы хотели бы иметь в дочерней теме, они не будут отображаться здесь. Тем не менее, чтобы добавить хук, который заменяет заголовок изображения на Flash, потребуется изменить заголовок базовой темы header.php… что-то вроде уловки 22. На практике это не должно быть большой проблемой. Это также лучший способ в WordPress справиться с такими вещами.

    Для справки, вот изменения в файле на его странице Trac.

    • 0
    • Вау, какой отличный ответ! Большое спасибо. Я уже реализовал основы дочерней темы с помощью style.css. Я делаю страницу шириной 960 пикселей, чтобы флеш-баннер поместился. Я не знал, что могу просто заменить header.php на один в дочерней теме, так что это очень помогает. Еще раз спасибо за ваш фантастический ответ.

      • 0

Оставить ответ

You must login to add an answer.