質問編集履歴

3

コードの修正

2022/06/12 08:44

投稿

pinolia
pinolia

スコア21

test CHANGED
@@ -1 +1 @@
1
- 条件に合う記事の取得
1
+ 条件に合う記事の削除
test CHANGED
@@ -1,39 +1,43 @@
1
1
  wordpressのphpで、『投稿経過時間が指定時間よりも長い』投稿を取得するコードを考えています。
2
- フィルリングの条件として
2
+ content.phpにて各投稿ごとに削除時間をメキーに保存しています。
3
3
 
4
4
  ```php
5
+ <?php
5
- $left_second = get_post_meta(get_the_ID(), 'left_second', true); //left_secondはカスタムフィールドで記事ごとに指定
6
+ $post_time = get_post_time( 'U', true );
6
- if(!empty($post->left_second) && $now_time > $post_time + $left_second ):
7
+ $now_time = time();
7
- ?>
8
+ ?>
9
+
10
+ <?php
11
+ if(!empty($post->left_second)):
12
+ $left_time = get_post_meta(get_the_ID(), 'left_second', true);  //left_secondはカスタムフィールドで各投稿ごとに指定
13
+ settype ($left_time, "int");
14
+ $dead_line = $post_time + $left_time;
15
+ add_post_meta( $post->ID, 'dead_line_key', $dead_line);
16
+ get_post_meta(get_the_ID(), 'dead_line_key', true);
17
+ settype ($dead_line_key, "int");
18
+ endif;
19
+ ?>
20
+
8
21
  ```
9
22
 
10
- で可能だと思うのですが、これに当てはまる記事を取得してくるコードが全く分からない状況です。
11
- どなたかご教授いただければ幸いです。
12
-
13
- 以下追記
14
-
15
- こちらのサイトを参考にコード書き直てみたのですが、なかなかうまくいきません。何か根本的に間違えているのでしょうか?
23
+ こちらのサイトを参考に、cronで読み込むphpファイル作成したのですが、なかなかうまくいきません。何か根本的に間違えているのでしょうか?
16
- そもそも、cronのphpにget_post_timeは使えるのでしょうか...
17
24
 
18
25
  http://keylopment.com/faq/3368/
19
26
 
20
-
21
27
  ```php
22
- $post_time = get_post_time( 'U', true );
23
- $now_time = time();
28
+ delete_post(
24
-
25
- $args = array(
29
+ array(
26
30
  'posts_per_page' => -1,
27
31
  'post_type' => 'post',
28
- 'meta_key' =>'left_second',
32
+ 'meta_key' =>'dead_line_key',
29
33
  'meta_query' => array(
30
34
  'relation' => 'AND',
31
35
  array(
32
- 'key' => 'left_second',
36
+ 'key' => 'dead_line_key',
33
- 'value' => $now_time - $post_time,
37
+ 'value' => time(),
34
- 'compare' => '>=',
38
+ 'compare' => '<=',
35
39
  ),
36
40
  )
37
- );
41
+ )
38
42
 
39
43
  ```

2

コードの追記

2022/06/12 04:45

投稿

pinolia
pinolia

スコア21

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
  http://keylopment.com/faq/3368/
19
19
 
20
20
 
21
- ```ここに言語を入力
21
+ ```php
22
22
  $post_time = get_post_time( 'U', true );
23
23
  $now_time = time();
24
24
 

1

コードの追記

2022/06/12 04:37

投稿

pinolia
pinolia

スコア21

test CHANGED
File without changes
test CHANGED
@@ -9,3 +9,31 @@
9
9
 
10
10
  で可能だと思うのですが、これに当てはまる記事を取得してくるコードが全く分からない状況です。
11
11
  どなたかご教授いただければ幸いです。
12
+
13
+ 以下追記
14
+
15
+ こちらのサイトを参考にコードを書き直してみたのですが、なかなかうまくいきません。何か根本的に間違えているのでしょうか?
16
+ そもそも、cronのphpにget_post_timeは使えるのでしょうか...
17
+
18
+ http://keylopment.com/faq/3368/
19
+
20
+
21
+ ```ここに言語を入力
22
+ $post_time = get_post_time( 'U', true );
23
+ $now_time = time();
24
+
25
+ $args = array(
26
+ 'posts_per_page' => -1,
27
+ 'post_type' => 'post',
28
+ 'meta_key' =>'left_second',
29
+ 'meta_query' => array(
30
+ 'relation' => 'AND',
31
+ array(
32
+ 'key' => 'left_second',
33
+ 'value' => $now_time - $post_time,
34
+ 'compare' => '>=',
35
+ ),
36
+ )
37
+ );
38
+
39
+ ```