回答編集履歴

2

追記

2019/05/08 05:22

投稿

CHERRY
CHERRY

スコア25171

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

コード例を追加

2019/05/08 05:21

投稿

CHERRY
CHERRY

スコア25171

test CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
 
22
22
 
23
- 通常通りに `save_post` フックで呼び出される関数のなかで、投稿IDを取得して、条件判断するほうが簡単だと思いますが...
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
- コードの中は確認していませんが、こんな感じで、外側を function で囲って、`add_action('wp', '外側の関数名');` を追加してください
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
+ ```