Open KentaroTanida opened 3 years ago
環境のバージョンは次の通りです:
はじまして。 タイトルの通り、「Rest API 経由で固定ページに書かれたショートコードを呼び出すとショートコードがそのまま表示」され困っています。
固定ページに下記の mw-wp-form のショートコードを貼り付けて、プレビューでフォームが表示されることは確認致しました。
[mwform_formkey key="3975"]
次に、Rest API 経由でコールバック関数を呼び出し、ショートコードが動作することを確認した固定ページを関数内の wp_query で呼び出したところ mw-wp-form のショートコードが展開されることなくショートコードがそのまま表示されました。
Rest APIのcallback関数:
function getPost($request){ $body = json_decode($request->get_body(),true); $query = new WP_Query(array( 'post_type'=>$body['post_type'], // page 'p'=>$body['id'] // 固定ページのID )); if($query->have_posts()){ while($query->have_posts()){ $query->the_post(); global $post; ob_start(); the_content(); // 固定ページのコンテンツを表示 $content = ob_get_clean(); } } return new WP_REST_Response(array('status'=>1,'content'=>$content), 200); }
$contentの中身:
[mwform_formkey key=”3975″]
そこで、テキストを返す簡単なショートコードを作成し固定ページに貼り付け、同様にRestAPIで呼び出したところ、ショートコードのテキストが表示されることを確認いたしました。
固定ページに貼り付けし直したショートコード:
function hello() { $text = "Hello World!!"; return $text; } add_shortcode( 'testcode', 'hello');
Hello World!!
Rest API を経由した形でmw-wp-form のショートコードを使う場合、なにか私自身が見落としている箇所があると考えています。 実装上誤っている点やその他ご指摘をいただけると助かります。
環境のバージョンは次の通りです:
はじまして。 タイトルの通り、「Rest API 経由で固定ページに書かれたショートコードを呼び出すとショートコードがそのまま表示」され困っています。
固定ページに下記の mw-wp-form のショートコードを貼り付けて、プレビューでフォームが表示されることは確認致しました。
次に、Rest API 経由でコールバック関数を呼び出し、ショートコードが動作することを確認した固定ページを関数内の wp_query で呼び出したところ mw-wp-form のショートコードが展開されることなくショートコードがそのまま表示されました。
Rest APIのcallback関数:
$contentの中身:
そこで、テキストを返す簡単なショートコードを作成し固定ページに貼り付け、同様にRestAPIで呼び出したところ、ショートコードのテキストが表示されることを確認いたしました。
固定ページに貼り付けし直したショートコード:
$contentの中身:
Rest API を経由した形でmw-wp-form のショートコードを使う場合、なにか私自身が見落としている箇所があると考えています。 実装上誤っている点やその他ご指摘をいただけると助かります。