¿Mueve la publicación a una categoría diferente si el campo post_meta tiene 0 o tiene 2 días?
Pregunta
¿Es posible mover una publicación a otra categoría si el campo post_meta es 0?
Estoy construyendo un voto de orden inverso, cada publicación tiene 10 votos por defecto y después de votar un usuario, elimina un voto actualizando el post_meta, ahora trato de mover la publicación a otra categoría si el campo de los votos es de 0 o 2 días antiguo.
He encontrado una solución aquí Eso mueve una publicación a otra categoría si es una fecha pasada de esto en la base de datos.
Se ejecuta cada hora para hacer el cheque
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
}
¿Alguien puede ayudarme a extender esto para verificar las publicaciones de 2 días y si Post_meta "votos" es "0" también?
muchas gracias,
Filipes
Solución
Cuando elimina la verificación de votos para su condición, entonces si es necesario:
- buscar categorías con
wp_get_object_terms()
(FUNC de bajo nivel, puede especificar para obtener nombres o ID solo ya que no necesita objetos completos para esto) - Modificar la matriz (eliminar la categoría que no necesita, agregar la que hace)
- Establecer categorías con
wp_set_post_categories()
(sobrescribirá todas las categorías para que las que elimine de la matriz se habrá ido)