teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

追記

2021/01/16 01:49

投稿

KazuhiroHatano
KazuhiroHatano

スコア7834

answer CHANGED
@@ -9,4 +9,18 @@
9
9
  return ob_get_clean();
10
10
  });
11
11
  echo do_shortcode('[swpm_protected visible_to = "expired"][my_content][/swpm_protected]');
12
- ```
12
+ ```
13
+
14
+ ---
15
+
16
+
17
+ do_shortcodeがやってることはつまるところ
18
+ preg_replace_callbackです
19
+
20
+ 文字列の検索置換を関数使って動的にしてるだけです
21
+
22
+ do_shortcodeにはPHPのコードの実行に
23
+ 直接影響を与えるようなことはできません
24
+
25
+ do_shortcodeでphpの処理やhtmlの出力を猶予したいのであれば
26
+ その処理自体がショートコードになっていなくてはいけません

2

fix

2021/01/16 01:49

投稿

KazuhiroHatano
KazuhiroHatano

スコア7834

answer CHANGED
@@ -8,5 +8,5 @@
8
8
  <?php
9
9
  return ob_get_clean();
10
10
  });
11
- do_shortcode('[swpm_protected visible_to = "expired"][my_content][/swpm_protected]');
11
+ echo do_shortcode('[swpm_protected visible_to = "expired"][my_content][/swpm_protected]');
12
12
  ```

1

filx

2021/01/15 09:35

投稿

KazuhiroHatano
KazuhiroHatano

スコア7834

answer CHANGED
@@ -8,5 +8,5 @@
8
8
  <?php
9
9
  return ob_get_clean();
10
10
  });
11
- do_shortcode([swpm_protected visible_to = "expired"][my_content][/swpm_protected]);
11
+ do_shortcode('[swpm_protected visible_to = "expired"][my_content][/swpm_protected]');
12
12
  ```