Déplacer Envoyer à autre catégorie si le champ de post_meta est 0 ou est 2 jours?
Question
Est-il possible de déplacer un poste à une autre catégorie si le champ est post_meta 0
Je construis un vote dans l'ordre inverse, tous les postes ont par défaut 10 votes et après un vote utilisateur, supprime une voix en mettant à jour le post_meta, maintenant j'essayer de déplacer le poste à une autre catégorie si le champ de votes est 0 ou 2 jours vieux.
Je l'ai trouvé une solution qui déplace un poste à une autre catégorie si une date est passée de cela dans la base de données.
Il circule toutes les heures pour faire le contrôle
if (!wp_next_scheduled('sfn_expire_hook')){
wp_schedule_event( time(), 'hourly', 'sfn_expire_hook');
}
add_action( 'sfn_expire_hook', 'sfn_show_expire');
function sfn_show_expire(){
global $wpdb;
$server_time = date('mdy');
$result = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'post' AND post_status = 'publish'");
if( !empty($result)) foreach ($result as $a){
$show_time = get_the_time('mdy', $a->ID);
if ( $server_time > $show_time ){
$my_post = array();
$my_post['ID'] = $a->ID;
$my_post['post_status'] = 'draft';
wp_update_post( $my_post );
}
} // end foreach
}
L'aide peut quelqu'un me l'étendre à vérifier 2 jours et si les messages post_meta « votes » est « 0 » aussi?
Merci beaucoup,
Philip
La solution
Lorsque vous supprimez chèque de vote pour votre condition, si nécessaire:
- fetch catégories avec
wp_get_object_terms()
(Func bas niveau, vous pouvez spécifier chercher des noms ou ids seulement puisque vous n'avez pas besoin d'objets pleins pour cela) - modifier array (catégorie remove vous n'avez pas besoin, ajouter celui que vous faites)
-
wp_set_post_categories()
(il écrasera toutes les catégories afin que ceux que vous supprimez du tableau sera gone)