回答編集履歴
2
追記
answer
CHANGED
@@ -35,7 +35,7 @@
|
|
35
35
|
|
36
36
|
追記
|
37
37
|
|
38
|
-
そのまま、`save_post` フックで登録するならこんな感じでしょうか。
|
38
|
+
そのまま、`save_post` フックで登録するならこんな感じでしょうか。(今回の例では、if 内の remove_action と add_action は、なくても問題なく動作すると思いますが、そのまま残しておきます。)
|
39
39
|
|
40
40
|
```
|
41
41
|
function force_update_post_188290( $post_id ) {
|
1
コード例を追加
answer
CHANGED
@@ -9,11 +9,11 @@
|
|
9
9
|
投稿等を検索するのに利用する wp オプジェクトが使用できるのは、 [wp](https://codex.wordpress.org/Plugin_API/Action_Reference/wp) フック以降になります。
|
10
10
|
|
11
11
|
|
12
|
-
通常
|
12
|
+
通常は、[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を利用してステータスを確認して、条件判断するほうが簡単だと思いますが...
|
13
13
|
|
14
14
|
どうしても、投稿ID をチェックしてから HOOK を登録したいということであれば、無駄が多いですが、全体を function で囲って、 `wp` フックで、実行されるようにしてください。
|
15
15
|
|
16
|
-
コードの中は
|
16
|
+
質問のコードの中は確認していませんが、こんな感じで、外側を function で囲って、`add_action('wp', '外側の関数名');` を追加してください
|
17
17
|
|
18
18
|
```
|
19
19
|
functuon add_hook_188290() {
|
@@ -29,4 +29,22 @@
|
|
29
29
|
}
|
30
30
|
}
|
31
31
|
add_action('wp', 'add_hook_188290');
|
32
|
+
```
|
33
|
+
|
34
|
+
----
|
35
|
+
|
36
|
+
追記
|
37
|
+
|
38
|
+
そのまま、`save_post` フックで登録するならこんな感じでしょうか。
|
39
|
+
|
40
|
+
```
|
41
|
+
function force_update_post_188290( $post_id ) {
|
42
|
+
if ( get_post_status( $post_id ) == 'publish' ) {
|
43
|
+
remove_action( 'save_post', 'force_update_post_188290' );
|
44
|
+
$args = array( 'ID' => $post_id, 'post_status' => 'pending' );
|
45
|
+
wp_update_post( $args );
|
46
|
+
add_action( 'save_post', 'force_update_post_188290' );
|
47
|
+
}
|
48
|
+
}
|
49
|
+
add_action( 'save_post', 'force_update_post_188290' );
|
32
50
|
```
|