• Advanced Custom Fields(ACF)で質問です。

    フィールドタイプ
    ユーザー

    ラベル
    社員

    権限グループ
    購買者

    フィールド名
    syain

    戻り値の形式
    ユーザーID(よく分かって無いです)

    カスタムフィールド設置場所
    固定ページ

    固定ページの本文に表示させたい情報
    ユーザー情報の「サイト」に書かれているURL

    固定ページの編集画面を開くとユーザーを選択出来るプルダウンが設置されるのですが、それを選択しても固定ページに何も出力されません。コンテンツエディターにはPHPが直接書けるようになっているみたいなので、ここに出力コード?を書けばいいと思うのですがそれが分からないので教えて頂きたいです。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • 固定ページの本文に表示させたい情報
    ユーザー情報の「サイト」に書かれているURL

    これはおそらく ACF で実現する機能ではないと思います。ACF はあくまで投稿などに追加の情報を付加するプラグインです。今回は新しい情報を付加するのではなく、すでに WordPress のデータベース内にある情報を引き出したいので、別の実装が必要かと思います。

    例えば、ある投稿の著者のプロフィールに登録されている Web ページを表示するのであれば、以下の php コードをページ内に加えることで表示できます。

    <?php the_author_link(); ?>

    ただし、ブロックエディターに直接 php コードを書いても読み込まれません。そこで、Insert PHP Code Snippet などのプラグインを利用する方法があります。このプラグインを使うと、与えた php コードをショートコードに変換してくれます。そのショートコードをエディターでショートコードブロック内に入れることにより、公開した投稿で php が実行されます。

    実装の流れはこのようになると思いますが、あとは具体的に何を表示したいかで php の内容が変わってくると思います。

    モデレーター のむらけい (Kei Nomura)

    (@mypacecreator)

    こんにちは。

    コンテンツエディターにはPHPが直接書けるようになっているみたいなので

    と書かれていますが、通常、WordPressのエディター上からはPHPを実行できません。
    「コンテンツエディター」と書かれているのは、外観 > テーマ > テーマファイルエディター のことでしょうか?
    もしくは、なにか特別なプラグインを導入されていますでしょうか?もし導入されている場合は、その旨お知らせいただくことで正確な情報をご提供できると思います。

    ひとまず、「テーマファイルエディター」のことだとして話を進めます。
    ユーザーフィールドを使用して任意のユーザーのプロフィール情報を取ってくるには、以下の記事が参考になると思います。

    【Advanced Custom fields】ユーザーフィールドを使ってユーザー情報を呼びだす【WordPress】
    https://www.tou-k.jp/IT_HP/wordpress/1979/

    公式ドキュメントにもサンプルコードが掲載されています。
    https://www.advancedcustomfields.com/resources/user/

    例えば、固定ページ用のテンプレートファイル(page.phpなど。テーマによって異なる)の表示させたい位置に

    <?php
    $user = get_field("syain");
    if( $user ): ?>
    <p><?php echo $user['user_url']; ?></p>
    <?php endif; ?>

    こんな感じで取れないでしょうか(戻り値をユーザー配列にした場合)。お試しください。

    いろいろな経緯があり、現在WordPress.orgで入手できるAdvanced Custom Fieldsは、Secure Custom Fieldsという名前になり、WordPress.orgの管理へと変わりました。上記で紹介した公式ドキュメントは、元のACFの開発チームが作成したものです。現時点で、ACFだった時と大きな仕様変更はありませんが、将来的に元のACFと内容が分岐していく可能性はあるので、念の為ご承知おきください。

    @mypacecreator このプラグインを使ってこういうこともできたんですね!勉強になりました。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • このトピックに返信するにはログインが必要です。