web-dev-qa-db-ja.com

20の画像ヘッダーをフラッシュバナーに置き換える方法は?

私は現在子テーマを使って初めてサイトを構築しています。

基本的に、私はクライアントがすでに作ったフラッシュバナーを持っていて、そしてフラッシュで20のイメージバナーを取り替えたいです。私はどうやってheader.phpを編集することでこれを行うことができるか(私は思う!)それをするよりよい方法があるかどうか疑問に思いました - 多分私の子供のテーマでfunction.phpを使う?

クライアントがテーマを自分自身で更新でき、ヘッダーが元に戻されることを心配しなくてもいいのならいいでしょう。

貢献してくれてありがとう。

1
slugmandrew

子供のテーマは間違いなくあなたが概説した理由のために行くべき道です:アップグレード可能性。まず始めに、子テーマを作成するためのドキュメントを以下に示します。 http://codex.wordpress.org/Child_Themes

子テーマのディレクトリを作成し、上記の子テーマのドキュメントへのリンクの説明に従ってstyle.cssファイルを編集します。その後、twentytenディレクトリからheader.phpファイルをそのディレクトリにコピーして、持っている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要素の幅が940ピクセルであることを確認する必要があります。そうしないと、デザインがおかしくなったり壊れたりする可能性があります。

ヘッダ画像PHPブロックは私のheader.phpの68行目(WordPress 3.1の20のテーマの中)にあり、それは以下の真下にあります:

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

これは絶対確実というわけではないことに注意してください。 20個のテーマが将来更新され、子テーマに変更を加えたい場合は、ここには表示されません。ただし、画像ヘッダーをFlashに置き換えるフックを追加するには、ベーステーマのheader.phpを変更する必要があります。ちょっとしたキャッチ22。 WordPressでは、このようなことを処理することも最善の方法です。

参考のために、 はTracページのファイルへの変更です

0
Gavin Anderegg