-
投稿者投稿
-
2021年3月9日 4:16 PM #69863
【お使いの 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いいねをした人: 居ません2021年3月9日 4:17 PM #69864【お使いの Snow Monkey のバージョン】バージョン: 13.2.3
【お使いの Snow Monkey Blocks のバージョン】バージョン 10.3.3
【お使いの Snow Monkey Editor のバージョン】バージョン 4.1.0
【お使いのブラウザ】chrome失礼いたしました。
♥ 0いいねをした人: 居ません2021年3月9日 4:33 PM #69868まずはこちらの記事をご確認頂いて、色々と試してみたらうまく行くかもしれません!(手前の記事で申し訳ないです!)
♥ 1いいねをした人: 居ません2021年3月9日 5:46 PM #69869ありがとうございます!
ついに出力されました!!!本当にありがとうございます。ずっと停滞していたので、安堵しています。
閉じさせていただきます。
♥ 0いいねをした人: 居ません2021年3月9日 9:10 PM #69886add_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いいねをした人: 居ません2021年3月9日 10:48 PM #69887何がまずいでしょうか?
なぜうまくできないかをデバックすることも大切な学習だと思うので、あえて答えを書かずにヒントだけ書いてみますね。
まずは、エラーが出たらエラーテキストで検索してみましょう。それを見て、修正をする、の繰り返しです。
また、変数の中身などを確認する場合には
var_dump( $atr )
とかで確認してみてください。また、ショートコードでHTMLを出力したい場合には以下のドキュメントのアンカーリンクのセクションが参考になるかと思います。
♥ 1いいねをした人: 居ません2021年3月9日 11:29 PM #69889PHP の書き方の問題ですね。
複数行の場合は、
return [$name, $tall];
のところを
return $name. $tall;
に変更。テキストも入れる場合は、
$tall = '<p>身長:'; $tall .= get_field( 'tall' ); $tall .= '</p>'; return $tall;
に変更してみてください。
参考スライド 26ページ目からがショートコードについてです。
♥ 2いいねをした人: 居ません2021年3月10日 12:04 AM #69893お二方、ありがとうございます。
Olein_jp様
アドバイスいただきありがとうございます。すぐに誰かに頼ろうとする自分の悪いところが出てしまったと反省です。今後の勉強方法まで示してくださり、大変ありがたいです。しっかり頑張ります!
まーちゅう様
ありがとうございます。うまく実装することができました!PHPそのものの勉強もしっかりしようと思います。貴重な資料までいただき、大変ありがたいです。勉強させていただきます!
お二方のおかげで解決いたしましたので、閉じさせていただきます。
本当にありがとうございました!
♥ 1いいねをした人: 居ません -
投稿者投稿
- トピック「カスタムフィールド値を出力したい」には新しい返信をつけることはできません。