回答編集履歴
2
追記
test
CHANGED
@@ -72,7 +72,7 @@
|
|
72
72
|
|
73
73
|
|
74
74
|
|
75
|
-
そのまま、`save_post` フックで登録するならこんな感じでしょうか。
|
75
|
+
そのまま、`save_post` フックで登録するならこんな感じでしょうか。(今回の例では、if 内の remove_action と add_action は、なくても問題なく動作すると思いますが、そのまま残しておきます。)
|
76
76
|
|
77
77
|
|
78
78
|
|
1
コード例を追加
test
CHANGED
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
-
通常
|
23
|
+
通常は、[save_post#無限ループ回避](https://wpdocs.osdn.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API/%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%83%E3%82%AF%E4%B8%80%E8%A6%A7/save_post#.E7.84.A1.E9.99.90.E3.83.AB.E3.83.BC.E3.83.97.E5.9B.9E.E9.81.BF) の例のように `save_post` フックで呼び出される関数のなかで、投稿IDを利用してステータスを確認して、条件判断するほうが簡単だと思いますが...
|
24
24
|
|
25
25
|
|
26
26
|
|
@@ -28,7 +28,7 @@
|
|
28
28
|
|
29
29
|
|
30
30
|
|
31
|
-
コードの中は
|
31
|
+
質問のコードの中は確認していませんが、こんな感じで、外側を function で囲って、`add_action('wp', '外側の関数名');` を追加してください
|
32
32
|
|
33
33
|
|
34
34
|
|
@@ -61,3 +61,39 @@
|
|
61
61
|
add_action('wp', 'add_hook_188290');
|
62
62
|
|
63
63
|
```
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
----
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
追記
|
72
|
+
|
73
|
+
|
74
|
+
|
75
|
+
そのまま、`save_post` フックで登録するならこんな感じでしょうか。
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
```
|
80
|
+
|
81
|
+
function force_update_post_188290( $post_id ) {
|
82
|
+
|
83
|
+
if ( get_post_status( $post_id ) == 'publish' ) {
|
84
|
+
|
85
|
+
remove_action( 'save_post', 'force_update_post_188290' );
|
86
|
+
|
87
|
+
$args = array( 'ID' => $post_id, 'post_status' => 'pending' );
|
88
|
+
|
89
|
+
wp_update_post( $args );
|
90
|
+
|
91
|
+
add_action( 'save_post', 'force_update_post_188290' );
|
92
|
+
|
93
|
+
}
|
94
|
+
|
95
|
+
}
|
96
|
+
|
97
|
+
add_action( 'save_post', 'force_update_post_188290' );
|
98
|
+
|
99
|
+
```
|