-
投稿者投稿
-
2024年4月2日 8:57 PM #138014
【お使いの Snow Monkey のバージョン】
【お使いの Snow Monkey Blocks のバージョン】
【お使いの Snow Monkey Editor のバージョン】
【お使いのブラウザ】
【当該サイトのURL】### 実現したいこと
Snow Monkey Forms のフォームをブロックエディターを使わずに、テンプレートファイル等のPHPファイル内で、作成したフォームのID等を指定して、出力することは可能でしょうか?
理由としては、以下の流れを実現することが目的です。
- Snow Monkey Forms でフォームを作成
- カスタムフィールドでIDを指定
- 特定の位置で出力
### 発生している問題
ページ内のフォーム以外のコンテンツもカスタムフィールドで構成しており、フォームに関してはラジオボタンの選択肢によって、以下のように出力を変えたいと考えています。
①選択肢「フォーム」→Snow Monkey Formsのフォームを出力する
②選択肢「セレクトボックス(外部リンク)」→別のカスタムフィールドで詳細を設定フォームのみをGutenbergの「Snow Monkey Forms」ブロックを使って設置し、the_content(); で出力することも考えましたが、①で作成した後に、②を選択した場合でも編集画面にGutenbergのフォームが残ってしまいます。
フォームを削除すれば良いのですが、少し方法としては、一貫性がなくスマートではないなと…### 試したこと
<?php echo do_shortcode(‘[ショートコード]’); ?> で思いつく限りのパターンを試したり、プラグイン内のファイルを見てみましたが、よく分かりませんでした。
仕様上不可能であれば、MW WP Form で対応しようかと思いますが、直感的で使いやすいSnow Monkey Formsの方が、Webに慣れていないサイト運営者にとって良いので、可能であれば実現したいと思っております。
恐れ入りますが、ご教授いただけますでしょうかm(_ _)m
どうぞよろしくお願いいたします。
♥ 0いいねをした人: 居ません2024年4月3日 6:37 PM #138045Snow Monkey Forms はショートコードではなくブロックなので、
do_shortcode()
では動きません。ブロックはthe_content()
で実行されるので、echo apply_filters( 'the_content', '<!-- wp:snow-monkey-forms/snow-monkey-form {"formId":xxxxx} /-->' );
のような感じで、ブロックの読み込みコードを
the_content
フィルターフックに通して出力すると表示されるとは思います。ただ、そのような使い方を想定して開発しているわけではないので、完全にちゃんと動くかはわからないです…。♥ 0いいねをした人: 居ません2024年4月5日 3:30 PM #138127 -
投稿者投稿
- トピック「Snow Monkey Forms をPHPファイル内で使用する方法について」には新しい返信をつけることはできません。