カスタムフィールド値を出力したい

0
いいねをした人: 居ません
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • 投稿者
    投稿
  • #69863
    田中 太郎
    閲覧者
    2

    【お使いの Snow Monkey のバージョン】
    【お使いの Snow Monkey Blocks のバージョン】
    【お使いの Snow Monkey Editor のバージョン】
    【お使いのブラウザ】
    【当該サイトのURL】

    ### 実現したいこと

    カスタムフィールド値をショートコード化して、カスタム投稿詳細ページにショートコード埋め込みで出力。

    ### 発生している問題

    何も表示されません

    ### 試したこと

    my-snow-monkey.phpに以下のように記述しています。

    function detail_func() {
    $profile = get_field(‘profile’, get_the_ID() );
    return $profile;
    }
    add_shortcode(‘detail’, ‘detail_func’);

    カスタムフィールドはACFを用いて作成しており、フィールド名はprofileにしています。

    投稿詳細ぺージにてショートコードで[detail]と表示していますが、特に何も表示されず、コードを見てもdivがあるだけで、その中には何も入っていません。

    何が原因なのでしょうか?

    0
    いいねをした人: 居ません
    #69864
    田中 太郎
    閲覧者
    2

    【お使いの Snow Monkey のバージョン】バージョン: 13.2.3
    【お使いの Snow Monkey Blocks のバージョン】バージョン 10.3.3
    【お使いの Snow Monkey Editor のバージョン】バージョン 4.1.0
    【お使いのブラウザ】chrome

    失礼いたしました。

    0
    いいねをした人: 居ません
    #69868
    Olein_jp
    参加者
    565

    まずはこちらの記事をご確認頂いて、色々と試してみたらうまく行くかもしれません!(手前の記事で申し訳ないです!)

    1
    いいねをした人: 居ません
    #69869
    田中 太郎
    閲覧者
    2

    ありがとうございます!

    ついに出力されました!!!本当にありがとうございます。ずっと停滞していたので、安堵しています。

    閉じさせていただきます。

    0
    いいねをした人: 居ません
    #69886
    田中 太郎
    閲覧者
    2
    add_shortcode('staff', 'staff_func');
    
    function staff_func() {
    	$tall = get_field( 'tall' );
    	return $tall;
    }
    add_action( 'init', 'staff_func' );

    として、ショートコード[staff]とするとtallの値が出力されるのですが、これを複数行う場合、また、HTMLも加える場合はどうすればうまくいくでしょうか?

    名前:〇〇
    身長:〇〇cm

    と表示するのが理想です。

    function staff_func() {
    	$name = get_field('name');
    	$tall = get_field( 'tall' );
    	return [$name, $tall];
    }
    add_action( 'init', 'staff_func' );

    とするとArry( と出力されるだけになりました。

    また、テキストも入れたいと思い、

    function staff_func() {
    	$tall = '<p>身長:<?php get_field( 'tall' ); ?></p>';
    	return $tall;
    }
    add_action( 'init', 'staff_func' );

    と入力するエラーになります。何がまずいでしょうか?

    0
    いいねをした人: 居ません
    #69887
    Olein_jp
    参加者
    565

    何がまずいでしょうか?

    なぜうまくできないかをデバックすることも大切な学習だと思うので、あえて答えを書かずにヒントだけ書いてみますね。

    まずは、エラーが出たらエラーテキストで検索してみましょう。それを見て、修正をする、の繰り返しです。

    また、変数の中身などを確認する場合には var_dump( $atr ) とかで確認してみてください。

    また、ショートコードでHTMLを出力したい場合には以下のドキュメントのアンカーリンクのセクションが参考になるかと思います。

    1
    いいねをした人: 居ません
    #69889
    まーちゅう
    参加者
    367

    PHP の書き方の問題ですね。
    複数行の場合は、
    return [$name, $tall];
    のところを
    return $name. $tall;
    に変更。

    テキストも入れる場合は、

    $tall = '<p>身長:';
    $tall .= get_field( 'tall' );
    $tall .= '</p>';
    return $tall;

    に変更してみてください。

    参考スライド 26ページ目からがショートコードについてです。

    2
    いいねをした人: 居ません
    #69893
    田中 太郎
    閲覧者
    2

    お二方、ありがとうございます。

    Olein_jp様

    アドバイスいただきありがとうございます。すぐに誰かに頼ろうとする自分の悪いところが出てしまったと反省です。今後の勉強方法まで示してくださり、大変ありがたいです。しっかり頑張ります!

     

    まーちゅう様

    ありがとうございます。うまく実装することができました!PHPそのものの勉強もしっかりしようと思います。貴重な資料までいただき、大変ありがたいです。勉強させていただきます!

    お二方のおかげで解決いたしましたので、閉じさせていただきます。

    本当にありがとうございました!

    1
    いいねをした人: 居ません
8件の投稿を表示中 - 1 - 8件目 (全8件中)
  • トピック「カスタムフィールド値を出力したい」には新しい返信をつけることはできません。

ドキュメント

Snow Monkey の設定方法やマニュアルを掲載しています。

ドキュメント

フォーラム

Snow Monkey の使い方やカスタマイズについてのご質問・ご要望等はサポートフォーラムで行っています。サポートフォーラムは誰でも閲覧できますが、書き込みできるのは Snow Monkey 購入者のみとなります。

サポートフォーラム

よくあるご質問

Snow Monkey のサービスについて不明な点がある場合は、まずはよくあるご質問をご確認ください。

よくあるご質問

お問い合わせ

よくあるご質問を見ても解決しなかった場合、試用版の申請については問い合わせフォームからお願いいたします。

お問い合わせ

Snow Monkey は Gutenberg ブロックエディターに対応した 100%GPL の WordPress テーマです。拡張性を意識した開発をおこなっており、カスタマイザーとブロックでスピーディーにサイトを立ち上げるだけでなく、CSS やフックを駆使した高度なカスタマイズにも柔軟に対応できます。