• 解決済 ppiicc2299

    (@ppiicc2299)


    Attitudeを子テーマでカスタマイズしています。
    半年ほど前に自分でヘッダーロゴを.svgに変更しているのですが、新しいものに差し替えようとしています。恥ずかしながら、そのやり方がどうしても思い出せません。

    外観>ヘッダー画像 からは.svgファイルをアップロードできません。
    現在アップしているヘッダーロゴのパスを確認すると/uploads/〇〇/となっていないので、管理画面からアップロードしたものではなさそうです。直接phpファイルを編集したと思われます。
    通常header.phpを編集すれば良いと思うのですが、このAttitudeテーマはheader.php内にヘッダーロゴに関する該当箇所がありません。
    library>structure>header-extensions.php を編集すれば良いのでしょうか?

    どなたか解決法をご教示くださると幸いです。

13件の返信を表示中 - 1 - 13件目 (全13件中)
  • モデレーター Okamoto Hidetaka

    (@hideokamoto)

    テーマがどのような仕様になっているかはちょっとわかりませんが、
    とりあえず変えたいのであれば同じファイルパス・同じファイル名でSFTPなどから直接アップロードするという方法もあるかと思います。

    トピック投稿者 ppiicc2299

    (@ppiicc2299)

    同じファイル名でFTPでアップロードすることでとりあえず解決いたしました。ありがとうございます。
    しかし今後ヘッダー部分をさわることもあると思うので、このテーマでどのファイルのどの部分を編集すれば良いのか知りたいです。
    とりあえず問題は解決しましたが、このままクローズさせずにこのトピックを残しておいても良いでしょうか?

    モデレーター Okamoto Hidetaka

    (@hideokamoto)

    テーマ内のファイルを検索して、該当箇所に使われているクラス名やタグ名がどのファイルにあるかを調べると良いかもしれません。
    Linuxだと
    $ find /themes/attitude/ -type f -print | xargs grep 'CLASSNAME'
    とかですかね。(試してませんが・・・)

    外観>ヘッダー画像 からは.svgファイルをアップロードできません。

    状況が ppiicc2299 さんと異なるかもしれませんが、検証したところ「メディア」からもアップロードできませんでした。WordPress コアが SVG を許可していないためだと思います。プラグインで SVG アップロードを有効すると大丈夫でした。

    トピック投稿者 ppiicc2299

    (@ppiicc2299)

    gblsmさんありがとうございます。
    プラグインだとアップロードはできそうですね。しかし、ヘッダー部分を直接いじりたい場合はどこを触ればいいのか依然わかりません。。
    Okamoto Hidetakaさんの提案していただいた方法を試したいのですが、当方MacでTransmit使用の環境ですが、Spotlightで検索といった感じでしょうか?しかしこれではサーバ上のファイルまでは検索できません。Transmitでもサーバのファイル内の検索まではできないようです。

    MacOSXであればmdfind コマンドで探したら

    テーマもプラグインも公式ディレクトリから zip アーカイブとしてダウンロードできます。それを OS X で解凍して、後は Spotlight 検索で。私もそうやって探すほか、mi エディターのマルチファイル検索(grep) 検索を使うときもあります。

    // Set height and width, with a maximum value for the width.
    		'height'                 => apply_filters( 'attitude_header_image_height', 250 ),
    		'width'                  => apply_filters( 'attitude_header_image_width', 1038 ),
    		'max-width'              => 2000,

    この箇所ではないでしょうか

    ヘッダーロゴというのは、管理画面の 外観 > ヘッダー画像 で変更できるもののことですよね。
    それなら

    通常header.phpを編集すれば良いと思うのですが、このAttitudeテーマはheader.php内にヘッダーロゴに関する該当箇所がありません。
    library>structure>header-extensions.php を編集すれば良いのでしょうか?

    上記のファイルだと思いますよ。
    function attitude_headerdetails() の中に次のようなコードがありますから。

    elseif( $options[ 'header_show' ] != 'disable-both' && $options[ 'header_show' ] == 'header-logo' ) {
    ?>
    <?php if(is_single() || (!is_page_template('page-template-business.php' )) && !is_home()){ ?>
    	<h2 id="site-title">
    		<a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home">
    			<img src="<?php echo $options[ 'header_logo' ]; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>">
    		</a>
    	</h2>
    	<?php }else{ ?>
    	<h1 id="site-title">
    		<a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home">
    			<img src="<?php echo $options[ 'header_logo' ]; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>">
    		</a>
    	</h1>
    <?php }
    }

    トピック投稿者 ppiicc2299

    (@ppiicc2299)

    <h1 id="site-title">
    		<a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home">
    			<img src="<?php echo $options[ 'header_logo' ]; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>">
    		</a>
    </h1>

    子テーマ内の上記箇所のimg srcを編集しても反映されないのです。
    ここは通常パスを書いても反映されないのでしょうか?

    Attitudeテーマは有料版があるので、その部分は無料版だと無効化されているのかもしれないですね。

    同じファイルの続きのところにある下記コードを変更するとどうでしょう。

    <?php $header_image = get_header_image();
    if( !empty( $header_image ) ) :?>
    	<a href="<?php echo esc_url(home_url('/'));?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>"><img src="<?php echo esc_url( $header_image ); ?>" class="header-image" width="<?php echo get_custom_header()->width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>"></a>
    <?php endif; ?>

    追記(訂正):site-title の部分は無料版でも使えるものでした。失礼しました。

    <h1 id="site-title"> のコードは、外観 > カスタマイズ > Design Options > Custom Header で有効にできるみたいですよ。

    トピック投稿者 ppiicc2299

    (@ppiicc2299)

    同じファイル名でFTPでアップロードすることで解決いたしました。ありがとうございました。

13件の返信を表示中 - 1 - 13件目 (全13件中)
  • トピック「テーマAttitudeでヘッダー画像を.svgにしたい」には新たに返信することはできません。