web-dev-qa-db-ja.com

phpの構文 - 正しく連結する方法 - echo bloginfo( 'stylesheet_directory)

これは私を中傷にしています。構文が間違っていますか?なぜ最初の "。"です私のIMGのsrc呼び出しでエラーを投げて? FYIのimg src呼び出しにハードリンクを設定すればこれはうまくいきます。

    <a class="blog-image" href="<?php the_permalink(); ?>">
        <?php if (has_post_thumbnail() ) { 
            the_post_thumbnail('medium-size');
        } else {
            echo '<img src="' . bloginfo('stylesheet_directory'); . '/img/ogpimage.png" alt="Blog Posts Placeholder">';
        } ?>
    </a>
1
website walrus
  1. bloginfo()はすでにechoをしています。それはあなたのechoステートメントの他のすべてのものの前に印刷されます。代わりにget_bloginfo()を使用してください。

  2. stylesheet_directoryは、WordPressによって呼び出される関数get_stylesheet_directory_uri()を使用するほうがよい場合は、これらの引数の1つです。特に引数文字列の名前を見ることでパスが予想される場合は、理解しやすくなります。

  3. WordPressの機能で提供されているURLを使用している場合は、それをエスケープします。常に。

  4. 読みやすくするために、ここではprintf()を使用します。

概要

printf( 
    '<img src="%s/img/ogpimage.png" alt="Blog Posts Placeholder">',
    esc_url( get_stylesheet_directory_uri() )
);
3
fuxia