質問編集履歴
2
リンク先変更と文の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
###試したこと
|
16
16
|
|
17
|
-
登録時のフックを必死に探して「[create_term](http://
|
17
|
+
登録時のフックを必死に探して「[create_term](https://developer.wordpress.org/reference/hooks/create_term//)」を下記のように使ったのですが、実現できませんでした。
|
18
18
|
|
19
19
|
|
20
20
|
|
@@ -58,6 +58,14 @@
|
|
58
58
|
|
59
59
|
しかしなぜか、下記の「// できる」のように「changed××」という変更が効いた状態でタームが登録されるのに、「// できない」のようにエスケープ処理の方はできず、空白が登録されてしまいました。
|
60
60
|
|
61
|
+
|
62
|
+
|
63
|
+
このフックは「Filters a term field value before it is sanitized.」とあるのでサニタイズされる前に発動するものだと思ったのですが…
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
どうすればできるか、どなたかお分かりになる方いらっしゃいませんでしょうか?
|
68
|
+
|
61
69
|
```PHP
|
62
70
|
|
63
71
|
add_filter( 'pre_term_name', 'my_esc_term_name', 10, 2 );
|
1
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
###実現したいこと
|
2
2
|
|
3
|
-
WordPressでHTMLタグを
|
3
|
+
WordPressでタームにHTMLタグを入力すると、空白になって登録されてしまいますよね。
|
4
|
+
|
5
|
+
これをエスケープ処理して登録できるようにしたいです。
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
初期設定はこうなる:<div> → 空白で登録される
|
10
|
+
|
11
|
+
実現したいのはこう:<div> → <div>
|
4
12
|
|
5
13
|
|
6
14
|
|
@@ -39,3 +47,29 @@
|
|
39
47
|
}
|
40
48
|
|
41
49
|
```
|
50
|
+
|
51
|
+
###追記
|
52
|
+
|
53
|
+
さらに別の「[pre_term_{$field}](https://developer.wordpress.org/reference/hooks/pre_term_field/)」というフックを見つけました。
|
54
|
+
|
55
|
+
こちらは登録前の値を変更できるもののようでした。
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
しかしなぜか、下記の「// できる」のように「changed××」という変更が効いた状態でタームが登録されるのに、「// できない」のようにエスケープ処理の方はできず、空白が登録されてしまいました。
|
60
|
+
|
61
|
+
```PHP
|
62
|
+
|
63
|
+
add_filter( 'pre_term_name', 'my_esc_term_name', 10, 2 );
|
64
|
+
|
65
|
+
function my_esc_term_name( $value, $taxonomy ){
|
66
|
+
|
67
|
+
$name = esc_html($value); // できない
|
68
|
+
|
69
|
+
$name = 'changed'.$value; // できる
|
70
|
+
|
71
|
+
return $name;
|
72
|
+
|
73
|
+
}
|
74
|
+
|
75
|
+
```
|