1

すべてのユーザー プロファイルを含むページを作成したいのですが、ユーザー プロファイルの高度なカスタム フィールドで定義した画像のみを表示したいと考えています。

私はこのようなことをしようとしました:

<?php if (is_page(9)){ ?>   
<section class="pageContent contentWidth">
<ul class="profilePictures">
<?php
    $blogusers = get_users('orderby=nicename&role=subscriber');
    foreach ($blogusers as $user) {
        echo '<li><div class="image_wrapper"><img class="profile1" src="';
        $user->the_field('profilbild');
        echo '"/></div><img class="profile2 hoverShow" src="';
        $user->the_field('funbild');
        echo '"/><div class="imageOverlay"><p>';
        $user->the_field('nickname');
        echo '</p></div></li>';
    }
?>
</ul>
</section>
<?php } ?>

しかし、私がフロントエンドで得ているのは次のとおりです。

<section class="pageContent contentWidth">
<ul class="profilePictures">
<li><div class="image_wrapper"><img class="profile1" src="

そして、それは終了します。

編集:エラーは次のとおりです。

致命的なエラー: 208 行目の .../index.php の未定義メソッド WP_User::the_field() の呼び出し

これはの行です

$user->the_field('profilbild');

そのため、そこからこのメソッドを呼び出すことはできないようです。しかし、どうすればそれを行うことができますか?

Edit2:メソッドが見つからないというエラーの解決策を見つけました。私は今、フィールドのショートコードをエコーアウトしています:

echo '<li><div class="image_wrapper"><img class="profile1" src="
[acf field="profilbild"]
"/></div><img class="profile2 hoverShow" src="
[acf field="funbild"]
"/><div class="imageOverlay"><p>
[acf field="nickname"]
</p></div></li>';

しかし、私が思うに適切なユーザーを見つけることができません。ACF は、どのユーザーに移動するかを認識していません。

これに対する解決策は何ですか?

4

1 に答える 1

1

解決策は次のとおりです。

$image1 = get_field('profilbild', $user);
$image2 = get_field('funbild', $user);
$name = get_field('nickname', $user);
echo '<li><div class="image_wrapper"><img class="profile1" src="';
echo $image1['url'];
echo '"/></div><img class="profile2 hoverShow" src="';
echo $image2['url'];
echo '"/><div class="imageOverlay"><p>';
echo "$name";
echo '</p></div></li>';

これが役立つことを願っています!

于 2014-01-09T01:37:18.937 に答える