Sposta Messaggio di categoria diversa se il campo post_meta è 0 o è di 2 giorni?
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
Soluzione
Quando si rimuove assegno votare per la vostra condizione, quindi se necessario:
-
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) - modificare array (categoria di rimozione non è necessario, aggiungere quello che fai)
-
wp_set_post_categories()
(che sovrascriverà tutte le categorie in modo quelli di rimuovere dal serie sarà andata)