回答編集履歴

3 追記2記載および記載コード修正

miz

miz score 3353

2017/02/14 19:08  投稿

作った関数を動かすためには、なんらかのアクションにフックさせる必要があるのではないでしょうか。
**参考サイト**
- [https://wpdocs.osdn.jp/%E7%94%A8%E8%AA%9E%E9%9B%86#.E3.82.A2.E3.82.AF.E3.82.B7.E3.83.A7.E3.83.B3](https://wpdocs.osdn.jp/%E7%94%A8%E8%AA%9E%E9%9B%86#.E3.82.A2.E3.82.AF.E3.82.B7.E3.83.A7.E3.83.B3)
- [https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_action](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_action)
###追記
`$posts_array`は配列だと思うので、foreachで回す必要があるかと思います。
```PHP
$posts_array = get_posts( $args );
// デバッグ用コード($posts_arrayが配列であることを確認する)
?><pre><?php var_dump($posts_array); ?></pre><?php
foreach( $posts_array as $post){
   add_post_meta( $post -> ID, recommend_post, "on", false );
}
```
 
それから、$argsも以下のように。
```PHP
$args = array(
   'meta_query'      => array('key'=>'post_views_count','value'=>5,'compare'=>'>'),
);
```
```
###追記2
WordPress Codex:WP_Queryの「単一のカスタムフィールドの取扱い」の部分に、
> (meta_query はクエリがひとつだけでも入れ子の配列を指定しなければなりません。)
とありましたので、コードを修正しました。
[https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query#.E3.82.AB.E3.82.B9.E3.82.BF.E3.83.A0.E3.83.95.E3.82.A3.E3.83.BC.E3.83.AB.E3.83.89.E3.81.AE.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query#.E3.82.AB.E3.82.B9.E3.82.BF.E3.83.A0.E3.83.95.E3.82.A3.E3.83.BC.E3.83.AB.E3.83.89.E3.81.AE.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF)
```PHP
$args = array(
//   'meta_query'      => array('key'=>'post_views_count','value'=>5,'compare'=>'>'),
   'meta_query'      => array( array('key'=>'post_views_count','value'=>5,'compare'=>'>'), ),
);
$posts_array = get_posts( $args );
foreach( $posts_array as $post){
   //add_post_meta( $post -> ID, recommend_post, "on", false );
   add_post_meta( $post -> ID, recommend_post, "on", true );
}
```
2 追記へ補足

miz

miz score 3353

2017/02/14 09:48  投稿

作った関数を動かすためには、なんらかのアクションにフックさせる必要があるのではないでしょうか。
**参考サイト**
- [https://wpdocs.osdn.jp/%E7%94%A8%E8%AA%9E%E9%9B%86#.E3.82.A2.E3.82.AF.E3.82.B7.E3.83.A7.E3.83.B3](https://wpdocs.osdn.jp/%E7%94%A8%E8%AA%9E%E9%9B%86#.E3.82.A2.E3.82.AF.E3.82.B7.E3.83.A7.E3.83.B3)
- [https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_action](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_action)
###追記
`$posts_array`は配列だと思うので、foreachで回す必要があるかと思います。
```PHP
$posts_array = get_posts( $args );
// デバッグ用コード($posts_arrayが配列であることを確認する)
?><pre><?php var_dump($posts_array); ?></pre><?php
foreach( $posts_array as $post){
   add_post_meta( $post -> ID, recommend_post, "on", false );
}
```  
 
それから、$argsも以下のように。  
```PHP  
$args = array(  
   'meta_query'      => array('key'=>'post_views_count','value'=>5,'compare'=>'>'),  
);  
```
1 コード追記

miz

miz score 3353

2017/02/14 09:37  投稿

作った関数を動かすためには、なんらかのアクションにフックさせる必要があるのではないでしょうか。
**参考サイト**
- [https://wpdocs.osdn.jp/%E7%94%A8%E8%AA%9E%E9%9B%86#.E3.82.A2.E3.82.AF.E3.82.B7.E3.83.A7.E3.83.B3](https://wpdocs.osdn.jp/%E7%94%A8%E8%AA%9E%E9%9B%86#.E3.82.A2.E3.82.AF.E3.82.B7.E3.83.A7.E3.83.B3)
- [https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_action](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_action)
- [https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_action](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/add_action)
###追記
`$posts_array`は配列だと思うので、foreachで回す必要があるかと思います。
```PHP
$posts_array = get_posts( $args );
// デバッグ用コード($posts_arrayが配列であることを確認する)
?><pre><?php var_dump($posts_array); ?></pre><?php
foreach( $posts_array as $post){
   add_post_meta( $post -> ID, recommend_post, "on", false );
}
```

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る