質問: 20の画像ヘッダーをフラッシュバナーに置き換える方法は? 私は現在子テーマを使って初めてサイトを構築しています。基本的に、私はクライアントがすでに作ったフラッシュバナーを持っていて、そしてフラッシュで20のイメージバナーを取り替えたいです。私はどうやってheader.phpを編集することでこれを行うことができるか(私は思う!)それをするよりよい方法があるかどうか疑問に思いました - 多分私の子供のテーマでfunction.phpを使う?クライアントがテーマを自分自身で更新でき、ヘッダーが元に戻されることを心配しなくてもいいのならいいでしょう。貢献してくれてありがとう。
回答: 子供のテーマは間違いなくあなたが概説した理由のために行くべき道です:アップグレード可能性。まず始めに、子テーマを作成するためのドキュメントを以下に示します。 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ページのファイルへの変更です 。