• Resuelto massimo_oddo

    (@rodhzuniga)


    Antes que nada, estoy consciente que este código pertenece a un plugin, y lo he colocado en el foro correspondiente, pero sólo quisiera saber si estoy fallando en el código PHP o necesito las instrucciones completas del plugin en cuestión.

    Tengo un plugin llamado postGrid, el cual genera galerias de aquellos posts que cumplan ciertas condiciones (1 condicion) por ejemplo aquellos posts que pertenezcan a cierta categoría. Pero me veo en la necesidad, que además filtre por los Tags.

    Lo he consultado con el autor y me ha escrito algo similar, pero no me funciona.

    function post_grid_filter_query_args_extra($query_args){
    	$cu = wp_get_current_user(); //usuario actual
    	$valorC=xprofile_get_field_data('Ciudad',$cu->ID); //city tag, i used BuddyP.
      $extra_query = array (
          'post__not_in' => array('tag' => $valorC),
          );
      return array_merge($query_args, $extra_query);
      }
    add_filter('post_grid_filter_query_args','post_grid_filter_query_args_extra');

    ese $extra_query = array (); es propio del plugin, o es un comando de PHP que no estoy usando correctamente?

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • Moderador LGrusin

    (@lgrusin)

    $extra_query es un array con los valores de la consulta.

    Pregunto, ¿funciona bien lo de $valorC?, es decir, ¿toma los datos correctamente?

    Un saludo

    • Esta respuesta fue modificada hace 6 años, 6 meses por LGrusin.
    Iniciador del debate massimo_oddo

    (@rodhzuniga)

    Hola LGrusin, sí la variable $valorC obtiene correctamente los datos, lo tengo en otra función y todo correcto.

    Moderador LGrusin

    (@lgrusin)

    Pues puede que no funcione el post__not_in. Prueba sustituir la variable $valorC por un valor real para ver si funciona de esa forma.

    Otra posibilidad es que no funcione array_merge. Detectando la causa podremos intentar otra solución.

    Un saludo

    Iniciador del debate massimo_oddo

    (@rodhzuniga)

    Pues he probado con “post__in“ y si obtengo valores distintos (ningun post) por lo que asumo si funciona el comando, aunque pienso que esa instruccion podria ser post_tag aunque tambien la probe y nada, creo que necesito saber cual es el argumento que debo colocar dentro de ese query_extra, no se si sea propio del postgrid o del codex de wordpress

    Iniciador del debate massimo_oddo

    (@rodhzuniga)

    Muchas Gracias LGrusin, lo he logrado

    function post_grid_filter_query_args_extra($query_args){
    $cu = wp_get_current_user(); //usuario actual
    $valorC=xprofile_get_field_data(‘Ciudad’,$cu->ID); //ciudad tag

    $extra_query = array (
    ‘tag’ => ‘mitag’, //al parecer no era post__not_in
    );
    return array_merge($query_args, $extra_query);
    }
    add_filter(‘post_grid_filter_query_args’,’post_grid_filter_query_args_extra’);

    y en el postgrid, donde se configuran los tipos de posts que filtrara, elegir Entrada, el tipo de la misma, y en Taxonomy seleccionar AND, aún cuando no permite elegir un tag.

Viendo 5 respuestas - de la 1 a la 5 (de un total de 5)
  • El debate ‘Consulta extra wp_query’ está cerrado a nuevas respuestas.