Domanda

E 'possibile spostare un post per un un'altra categoria se il campo post_meta è 0?
Sto costruendo un voto ordine inverso, ogni post ha per default 10 voti e dopo una votazione utente, rimuove un voto aggiornando il post_meta, ora cerco di spostare l'intervento ad un un'altra categoria se il campo di voti è 0 o 2 giorni vecchio.

Ho trovato una soluzione qui che si muove un post a un un'altra categoria se è una data passata da questo nel database.
Si corre ogni ora per fare il controllo

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
}

Può qualcuno aiutarlo a estendere questo per verificare la presenza di 2 giorni vecchi post e se post_meta "voti" è "0" anche?

grazie mille,
Philip

È stato utile?

Soluzione

Quando si rimuove assegno votare per la vostra condizione, quindi se necessario:

  1. wp_get_object_terms() (basso func livello, è possibile specificare per andare a prendere i nomi o gli ID solo dal momento che non è necessario oggetti pieni per questo)
  2. modificare array (categoria di rimozione non è necessario, aggiungere quello che fai)
  3. wp_set_post_categories() (che sovrascriverà tutte le categorie in modo quelli di rimuovere dal serie sarà andata)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a wordpress.stackexchange
scroll top