サポート » 使い方全般 » 固定ページの画像表示について

  • 現在、固定ページを作成しているのですが画像が表示されません。
    画像はwordpressのメディアでアップロードはしておらず、ftpでサーバー上のディレクトリにアップしております。

    「themes」の中の今回しようしているテーマフォルだの中に「images」とフォルダを作りアップしております。
    通常のphpのファイル(静的なページ)で確認した際は表示されていたのですが、固定ページで作成しようとソースを貼付けても読み込みができていません。

    やはりメディアからアップしないと表示されないのでしょうか?
    よろしくお願いします。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • ftpでアップした場合でも、

    1. 画像ファイルのURLを自分で調べる
    2. 調べたURLを、imgタグに記述する

    とすれば、表示されます。
    URLの記述ミスしていないかどうか、確認してもらえますか。

    こんにちは。

    ひょっとして、画像のURLを相対パス(./images/)で指定されていませんか? ちゃんと絶対パス(http://example.com/wp-content/themes/sample-theme/images/)で指定されている場合は以下はスルーしてください。

    ===

    テンプレート作ってる際に page.php からの相対パスってことで ./images/ みたいに入力しちゃってませんか。それだと、page.php に直接アクセスすれば画像は表示されますが、固定ページのURL にアクセスした場合はURLの相対パスが示す場所が違うので、当然表示されません。

    例えば、固定ページのURLが http://example.com/sample-page/ の場合、src 属性が ./images/ から始まる相対パスで指定された img タグは、 http://example.com/sample-page/images/ 内の画像を表示しようとします。でも実際の画像のディレクトリは、 http://example.com/wp-content/themes/sample-theme/images/ といったURLですよね。

    WordPress上で画像を取り扱う場合、基本的に絶対パスで指定してやる必要があります。(これは固定ページの本文内でも同じです。)

    テーマ上でテンプレートディレクトリのURLを取得するには get_template_directory_uri() を使います。

    $image_dir = get_template_directory_uri() . '/images';
    <img src="<?php echo $image_dir; ?>/image.jpg" alt="alter text" />

    こんにちは、

    ftpでサーバー上のディレクトリにアップしております。

    ヘッダーに

    <base href="アップロードディレクトリのURL" target="_blank" />

    を書くと、相対参照のリンクは、そのディレクトリ以下にあるとブラウザが判断します。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「固定ページの画像表示について」には新たに返信することはできません。