Wordpressでショートコードを展開したあとの本文を取得する方法として、add_filterを使うやり方があると思うのですが、この方法だとショートコードが入れ子になっている場合に、入れ子になっている側の本文が取得できませんでした。
すべてのショートコードを展開したあとの本文を取得する方法はありますでしょうか?
具体的にやろうとしていることは以下になります。
【やりたいこと】
1.『MTS Simple Booking-C』で表示されるカレンダーで、(○)の日付を選択できないようにしたい(リンクで飛べないようにしたい)。
2.プラグイン『MTS Simple Booking-C』と『Ninja Forms』を組み合わせて、『Ninja Forms』内に『MTS Simple Booking-C』を利用したカレンダーを表示したい。
【できないこと】
1.に関しては、以下の処理を追加することで、『Ninja Forms』を使っていないページに関しては問題なく動作することが確認できています。
php
1function disable_calender_link($the_content) { 2 $before = 'a class="calendar-daylink"'; 3 $after = 'a class="calendar-daylink" style="pointer-events:none;"'; 4 5 $the_content = str_replace($before, $after, $the_content); 6 7 return $the_content; 8} 9add_filter( 'the_content', 'disable_calender_link', 12);
しかし、2に関しては『Ninja Forms』内に『MTS Simple Booking-C』のショートコードを埋め込むことでカレンダー自体は表示できているのですが、add_filterのthe_contentで取得した記事本文の中身がショートコードのままになっているため、上記の関数(disable_calender_link)でも置換できませんでした。
すべてのショートコードを展開したあとの本文を取得する方法はあればご教授いただきたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/23 00:54