¿Mueve la publicación a una categoría diferente si el campo post_meta tiene 0 o tiene 2 días?

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

  •  16-10-2019
  •  | 
  •  

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

¿Fue útil?

Solución

Cuando elimina la verificación de votos para su condición, entonces si es necesario:

  1. 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)
  2. Modificar la matriz (eliminar la categoría que no necesita, agregar la que hace)
  3. Establecer categorías con wp_set_post_categories() (sobrescribirá todas las categorías para que las que elimine de la matriz se habrá ido)
Licenciado bajo: CC-BY-SA con atribución
scroll top