サポート » 使い方全般 » 画像の相対パスについて

  • 画像の相対パスについて、こちらの記事を参考にさせていただいて
    http://weble.org/2011/03/29/wordpress-image-path

    下記のように表示したいのですが、テーマのfunctions.phpにソースを書き込んでも
    画像が表示されません。

    <img src="img/○○.jpg">

    これはソースの挿入位置が違うのか、それとも別な理由があるのでしょうか。

    どうぞよろしくお願いします。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • ens-okunoさん、こんにちは。

    functions.phpの実際のソースを提示していただくことは可能でしょうか?

    また画像の保存ディレクトリはimgということで間違いなかったでしょうか。

    以上ご確認をお願いいたします。

    トピック投稿者 ens-okuno

    (@ens-okuno)

    eiowq87mv23k様
    返信ありがとうございます。

    テーマはTwenty Tenを使っていて、途中省略していますが、下記のように
    functions.phpの一番下のところに入れてみました。
    (他にもソースが読めないので色々な位置に挿入して試してみましたがだめでした)

    /**
    * Prints HTML with meta information for the current post (category, tags and permalink).
    *
    * @since Twenty Ten 1.0
    */
    function twentyten_posted_in() {
    // Retrieves tag list of current post, separated by commas.
    $tag_list = get_the_tag_list( ”, ‘, ‘ );
    if ( $tag_list ) {
    $posted_in = __( ‘This entry was posted in %1$s and tagged %2$s. Bookmark the permalink.’, ‘twentyten’ );
    } elseif ( is_object_in_taxonomy( get_post_type(), ‘category’ ) ) {
    $posted_in = __( ‘This entry was posted in %1$s. Bookmark the permalink.’, ‘twentyten’ );
    } else {
    $posted_in = __( ‘Bookmark the permalink.’, ‘twentyten’ );
    }
    // Prints the string, replacing the placeholders.
    printf(
    $posted_in,
    get_the_category_list( ‘, ‘ ),
    $tag_list,
    get_permalink(),
    the_title_attribute( ‘echo=0’ )
    );

    function replaceImagePath($arg) {
    $content = str_replace(‘”img/’, ‘”‘ . get_bloginfo(‘template_directory’) . ‘/img/’, $arg);
    return $content;
    }
    add_action(‘the_content’, ‘replaceImagePath’);

    }
    endif;

    画像の保存ディレクトリは間違いないです。
    どうぞよろしくお願いします。

    ens-okunoさん、ソースのご提示ありがとうございます。

    重ねての確認で恐縮ですが
    Twenty Tenのディレクトリはデフォルトではimagesと
    なっていたと思うのですがそちらはimgに
    変更されたということでよろしかったでしょうか。

    またソースの埋め込み場所ですが
    最下部のendif;の下に書いてテストしてみてください。

    }
    endif;

    function replaceImagePath($arg) {
    $content = str_replace(‘”img/’, ‘”‘ . get_bloginfo(‘template_directory’) . ‘/img/’, $arg);
    return $content;
    }
    add_action(‘the_content’, ‘replaceImagePath’);

    トピック投稿者 ens-okuno

    (@ens-okuno)

    eiowq87mv23k様
    ありがとうございます。

    ソースの埋め込み場所を最下部に変更してみましたがこちらでもダメでした。

    画像についてですがimagesフォルダはそのままに、新たにimgフォルダを作成して
    画像をその中に入れています。

    imagesフォルダを残していると何か影響がでるというのはないですよね。

    ens-okunoさん

    ご確認ありがとうございます。
    >imagesフォルダを残していると何か影響がでるというのはないですよね。

    こちらは問題ないと思います。

    もう一点下記ソースですが
    $content = str_replace(‘”img/’, ‘”‘ . get_bloginfo(‘template_directory’) . ‘/img/’, $arg);

    $content = str_replace(get_bloginfo(‘template_directory’) . ‘/img/’, $arg);
    と変更してまたテストをお願いいたします。

    トピック投稿者 ens-okuno

    (@ens-okuno)

    eiowq87mv23k様

    何度もありがとうございます。
    上記のソースの部分を変更してみましたが、表示されませんでした。
    逆にコンテンツ部分が消えてしまいました。

    ちなみに下記のソースをfooter.phpで読み込んでいますが、何か間違いはありますでしょうか。(念のため2パターン表示しています)

    <img src=”/img/○○○.jpg”>
    <img src=”img/○○○.jpg”>

    どうぞよろしくお願いいたします。

    ens-okuno様

    度々ご確認ありがとうございました。

    <img src="/img/○○○.jpg">
    <img src="img/○○○.jpg">

    ↑上記コードですが今回functions.phpに書き込んだソースは
    img/を変換するという設定のものなので/img/と前にスラッシュが入っていると
    変換されなくなる可能性がありますね。
    すみません。前回の書込みは間違いでした。

    当方の環境でテストしてみたところ
    下記手順で表示されました。

    ■環境
    wordpress3.1 マルチサイト サブディレクトリ形式 小サイト

    1.functions.php最下部に以下コピペ
    function replaceImagePath($arg) {
    $content = str_replace(‘”img/’, ‘”‘ . get_bloginfo(‘template_directory’) . ‘/img/’, $arg);
    return $content;
    }
    add_action(‘the_content’, ‘replaceImagePath’);

    2.ffftpにてimegesフォルダをimgに名前変更

    3.投稿記事・固定ページに<img src=”img/○○○.jpg”>を記述

    で問題なく表示されました。

    もしかしたら他に何か影響している設定や
    ens-okunoさんの環境に原因があるかもしれません。
    私の知識ではここまでしかお応えできませんでした。
    wordpressバージョンやプラグインをご提示いただき
    他の方のご回答をお待ちください。

    トピック投稿者 ens-okuno

    (@ens-okuno)

    eiowq87mv23k様
    細かいご説明ありがとうございます!
    おっしゃる通りに進めたところ問題なく表示されました。

    しかしテンプレートファイル(footer.php)で画像を読み込む時はきっと別な方法なのですね。

    そして、誠に申し訳ないのですが、自分の期待していた動作は

    <img src=”img/○○○.jpg”>

    と記述し、ソースでも同じように

    <img src=”img/○○○.jpg”>

    と表示させるという動作でした。(ソースのwp-content等を隠し、wordpressで作られているとわからなくするため)

    もしこちらの方法をご存じであれば引き続きご教授頂けないでしょうか。
    本当に何度も申しわけありません。

8件の返信を表示中 - 1 - 8件目 (全8件中)
  • トピック「画像の相対パスについて」には新たに返信することはできません。