• 解決済 ark_1125

    (@ark_1125)


    現在、下記記事を参考に記事内の一番上の画像をトップページの一覧でサムネイル表示しているのですが、記事内に画像がない時にエラーが出てしまいます。

    single.phpにエラーがでてしまい対処方法がわかりません。

    記事中一番最初の画像を自動表示するが画像なしの時はHTML非表示にしたい

    //front-page.phpの記述
    <p class=”thumbnail”><img src=”<?php echo catch_that_image(); ?>” /></p>

    // functions.phpの記述
    function catch_that_image() {

    global $post, $posts;
    $first_img = ”;
    ob_start();
    ob_end_clean();
    $output = preg_match_all(‘/<img.+src=[\'”]([^\'”]+)[\'”].*>/i’, $post->post_content, $matches);

    $first_img = $matches [1] [0];

    if(empty($first_img)){ //Defines a default image
    $first_img = “http://……/images/noimage.jpg&#8221;;
    }
    return $first_img;
    }

    //エラー内容
    <b>Notice</b>: Undefined offset: 0 in <b>/www/wp-content/themes/・・・/functions.php</b> on line <b>154</b>
    /images/noimage.jpg

    配列のエラーと書かれてあったのですが、画像が無い場合は非表示にするのではなく、noimage.jpgを表示したいです。
    別のサーバーで管理していたサイトには全く同じ記述で表示できていたのですが、今回コピペして使用しようとしたらエラーになりました。

    phpの知識が乏しいのでとりあえずプラグインを全て停止してみたのですがエラーのままでした。
    その他に確認するべきポイントを教えていただけないでしょうか。
    画像へのパスはURLにしているので間違いは無いと思うのですが…(アクセス出来る事は確認済)
    よろしくお願いします。

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

    (@hideokamoto)

    <b>Notice</b>: Undefined offset: 0 in <b>/www/wp-content/themes/・・・/functions.php</b> on line <b>154</b>

    これは「www/wp-content/themes/・・・/functions.php」の154行目に問題があり、「0」というパラメータが見つからないという意味になります。
    コードを見たところ「$first_img = $matches [1] [0];」が154行目でしょうか?

    155行目に154行目のコードをvar_dumpされると何が起こっているか把握しやすいかもしれません。

    トピック投稿者 ark_1125

    (@ark_1125)

    アドバイスありがとうございました。
    おっしゃる通り、「$first_img = $matches [1] [0];」が154行目です。

    154行目の下にvar_dumpをするというのは、↓のように記述すればいいということでしょうか。
    $first_img = $matches [1] [0];
    var_dump( $first_img )

    それと、155行目にvar_dumpを記述したあと、その結果を確認するにはどのページにアクセスすれば分かるのでしょうか…。
    質問ばかりですみません。

    モデレーター Okamoto Hidetaka

    (@hideokamoto)

    http://qiita.com/shuhei/items/33a2c5aed10c951338cf
    こっちの方がわかりやすいかな。。

    トピック投稿者 ark_1125

    (@ark_1125)

    何度もすみません。
    デバッグモードはtrueになっていたのですが、念のため載せてくださったURL通り、
    wp-configを下記の様に変更し、エラーログを確認しようとしました。

    define(‘WP_DEBUG’, true);
    define(‘WP_DEBUG_DISPLAY’, false);
    define(‘WP_DEBUG_LOG’, true);

    が、今サイトを確認すると noimage.jpg が問題なく表示されており、エラーも確認できませんでした…。
    原因が分からずモヤモヤしておりますが、今後何かしらの不具合が出た際は、アドバイスいただいた方法でエラー内容を確認しようと思います。
    有難うございました。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「記事内の画像をサムネイル表示したいがエラーになる」には新たに返信することはできません。