Déplacer Envoyer à autre catégorie si le champ de post_meta est 0 ou est 2 jours?

wordpress.stackexchange https://wordpress.stackexchange.com/questions/7420

  •  16-10-2019
  •  | 
  •  

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

Était-ce utile?

La solution

Lorsque vous supprimez chèque de vote pour votre condition, si nécessaire:

  1. 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)
  2. modifier array (catégorie remove vous n'avez pas besoin, ajouter celui que vous faites)
  3. wp_set_post_categories() (il écrasera toutes les catégories afin que ceux que vous supprimez du tableau sera gone)
Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top