3

私はワードプレスのウェブサイトで作業しています、私はこれで投稿の高度なカスタムフィールドからサムネイルを取得しようとしています:

<?php while ( have_posts() ) : the_post(); ?>
    <h1><?php the_field('custom_title'); ?></h1>
    <img src="<?php the_field('thumbnail'); ?>" alt="" />
    <p><?php the_content(); ?></p>
<?php endwhile; // end of the loop. ?>

問題は、Webサイトをロードすると、画像が取得するURLが次のようになることです。

<img src="5, , item_alt2, , , http://portfolio.local/wp-content/uploads/2012/09/item_alt2.jpg, Array">

したがって、私が見る限り、プラグインは画像を探してから機能していますが、奇妙なパスをロードするため、「壊れた」画像のように表示されます。

私が間違っているのは何ですか?

 5, , item_alt2, , , http://portfolio.local/wp-content/uploads/2012/09/item_alt2.jpg, ArrayNULL
4

4 に答える 4

7

AdvancedCustomFieldsのドキュメントをご覧ください。

http://www.advancedcustomfields.com/docs/field-types/image/

下部の例のように、カスタムフィールドの値をオブジェクトとして返します。

Array
(
[id] => 540
[alt] => A Movie
[title] => Movie Poster: UP
[caption] => sweet image
[description] => a man and a baloon
[url] => http://localhost:8888/acf/wp-content/uploads/2012/05/up.jpg
[sizes] => Array
    (
        [thumbnail] => http://localhost:8888/acf/wp-content/uploads/2012/05/up-150x150.jpg
        [medium] => http://localhost:8888/acf/wp-content/uploads/2012/05/up-300x119.jpg
        [large] => http://localhost:8888/acf/wp-content/uploads/2012/05/up.jpg
        [post-thumbnail] => http://localhost:8888/acf/wp-content/uploads/2012/05/up.jpg
        [large-feature] => http://localhost:8888/acf/wp-content/uploads/2012/05/up.jpg
        [small-feature] => http://localhost:8888/acf/wp-content/uploads/2012/05/up-500x199.jpg
    )

)
于 2012-09-08T18:49:36.690 に答える
0

私はこれと同じ問題を抱えていました。あなたがする必要があるのはあなたがオブジェクトとして画像を返さないことを確認することです。これは、カスタムフィールドを作成/編集するときに行います。戻り値をimageurlに設定していることを確認してください。

https://www.evernote.com/shard/s3/sh/91d181ed-e9d6-4504-8ab5-cee7ae85d84f/dfc9944d16337e41fb6e7e30ed26bdb5

次に、これを使用してテンプレートに画像を表示できるようになります。

于 2012-11-16T17:42:58.303 に答える
0

URLを返すようにカスタムフィールドを設定しましたか。オブジェクトに設定されているように見えます。画像を返す方法には3つのオプションがあります。

于 2012-11-22T23:10:11.583 に答える
0

または、カスタムフィールドをIMAGE IDとして設定し、そのように使用することもできます

$image = wp_get_attachment_image_src(get_field('thumbnail'), 'sizename');
    <h1><?php the_field('custom_title'); ?></h1>
    <img src="' .$image[0]. '" alt="">
    <p><?php the_content(); ?></p>
<?php endwhile; // end of the loop. ?>
于 2014-07-15T14:48:03.343 に答える