Cambiar orden resultados directorio de plugin - Ayuda urgente!

  • Autor Autor luisdom
  • Fecha de inicio Fecha de inicio
L

luisdom

Épsilon
Hola Betas.

Tengo un plugin : paid business listings, que por defecto muestra los resultados (lista) de negocios del directorio, en orden del más antigüo al más nuevo y quiero que lo haga al reves (que arriba se muestren los más recientes) o bien por órden alfabético.

El código de: paid-business-listings/inc/inc_display_listings.php es:

function display_pbl_listings($atts) {
global $wpdb;

$return.="<style>";
$return.="#pbl-listing-wrapper {border-bottom: 1px dotted $primary_color;}";
$return.="#pbl-listing-wrapper .pbl-content a {color: $secondary_color;}";
$return.="#pbl-listing-wrapper .pbl-content a:hover {color: $primary_color;}";
$return.="</style>";

if($atts[category]!=""){$category="cat_id='".$atts[category]."' AND ";}
if($atts[package]!=""){$package="pkg_id='".$atts[package]."' AND ";}
$timenow=time();
$listings=$wpdb->get_results("SELECT id,name,logo_url,description,phone,url,email,address,city,state,zip FROM ".$wpdb->prefix."pbl_listings WHERE $package $category time_expired>$timenow AND active=1");

foreach($listings as $listing){
$id=$listing->id;
$name=stripslashes($listing->name);
if($listing->logo_url!=""){$logo="<img src=\"".stripslashes($listing->logo_url)."\" />";}else{$logo="<img src=\"".plugins_url()."/paid-business-listings/images/no-image-available.png\" />";}
$description=stripslashes($listing->description);
$phone=stripslashes($listing->phone);
$url=stripslashes($listing->url);
$email=stripslashes($listing->email);
$address=stripslashes($listing->address);
$city=stripslashes($listing->city);
$state=stripslashes($listing->state);
$zip=stripslashes($listing->zip);
$return.="<div id='pbl-listing-wrapper'>";
$return.="<div class='pbl-logo'>";
$return.="<a href='$url' target='_blank' rel='nofollow'>$logo</a>";
$return.="<div style='clear:both;'></div></div>";
$return.="<div class='pbl-content'>";
$return.="<div class='listing-title'><a href='$url' target='_blank' rel='nofollow'>$name</a></div>";
$return.="<div class='listing-description'>$description</div>";
$return.="<div class='listing-contact-left'>$address<br />$city, $state $zip</div>";
$return.="<div class='listing-contact-right'>$phone<br /><a href='mailto:$email' >$email</a></div>";
$return.="<div class='listing-contact-bottom'><a href='$url' target='_blank' rel='nofollow'>";
$return.=str_replace("http://","",$url);
$return.="</a></div>";
$return.="<div style='clear:both;'></div></div>";
$return.="<div style='clear:both;'></div></div>";
}
return $return;
}



He intentado ir a functions.pho y ponr codicionante de orden nuevo de este tipo:


add_action( 'pre_get_posts', 'my_change_sort_order');
function my_change_sort_order($query){
if(is_archive()):
//If you wanted it for the archive of a custom post type use: is_post_type_archive( $post_type )
//Set the order ASC or DESC
$query->set( 'order', 'ASC' );
//Set the orderby
$query->set( 'orderby', 'title' );
endif;
};


Intenté cambiando: pre_get_posts por> display_pbl_listings , también por: .pbl-content y por: .pbl-content
Así como cambiando: .pbl-content por> $return
Haciendo pruebas con ASC y DESC, así como eliminando: //Set the orderby
$query->set( 'orderby', 'title' );


Pero nada más no le doy y llevo HORAS.... jejeje, alguna idea de cómo debe de ir el código en functions.ph para cambiar el orden en que aparecen los resultados del directorio? Ojalá me puedan echar una mano teniendo como dato los terminos del codigo del plugin.
Mil gracias! saludos
 
Probaste con ORDER BY acá?:

Insertar CODE, HTML o PHP:
[I] 	$listings=$wpdb->get_results("SELECT  id,name,logo_url,description,phone,url,email,addre  ss,city,state,zip  FROM ".$wpdb->prefix."pbl_listings WHERE $package $category  time_expired>$timenow AND active=1");[/I]
 
O se podrñá hacer algo del tipo:
orderby="date_updated" order="desc"
cambiando valores?

O tal vez editando el dichoso:
paid-business-listings/inc/inc_display_listings.php

He intentado cambiando muchas cosas pero no lo logro, supongo lo más facil es desde el functions.php no?
 
Debes cambiar este codigo

HTML:
$query->set( 'order', 'ASC' );

por este

HTML:
$query->set( 'order', 'DESC' );
 
[MENTION=70900]FerMolina[/MENTION]


Noooo . Ahí no, y es que no se que ponerlo, con qué valo o dónde de esa parte del código.... si va sólo al reves o por orden alfabetico, debo respetar algun valor de ese codigo dentro del orderby? sabes cómo podría ir tal vez? Mil gracias por tu ayuda y por responder! saludos

Probaste con ORDER BY acá?:

Insertar CODE, HTML o PHP:
[I] 	$listings=$wpdb->get_results("SELECT  id,name,logo_url,description,phone,url,email,addre  ss,city,state,zip  FROM ".$wpdb->prefix."pbl_listings WHERE $package $category  time_expired>$timenow AND active=1");[/I]

- - - Actualizado - - -

- - - Actualizado - - -

Debes cambiar este codigo

HTML:
$query->set( 'order', 'ASC' );

por este

HTML:
$query->set( 'order', 'DESC' );



Ya lo intenté pero ese codigo lo puse en functions variando los cambios que mencioné pero nada

- - - Actualizado - - -

Probaste con ORDER BY acá?:

Insertar CODE, HTML o PHP:
[I] 	$listings=$wpdb->get_results("SELECT  id,name,logo_url,description,phone,url,email,addre  ss,city,state,zip  FROM ".$wpdb->prefix."pbl_listings WHERE $package $category  time_expired>$timenow AND active=1");[/I]

Poner por ejemplo orderby="date_updated" order="desc" no se si el plugin tenga el meta "date _update" o sólo dejo:
order="desc"... pero donde? después de get_results( y antes de "SELECT o más bien al final? [MENTION=70900]FerMolina[/MENTION]
 
Última edición:
Probá así:
HTML:
get_results("SELECT  id,name,logo_url,description,phone,url,email,addre  ss,city,state,zip  FROM ".$wpdb->prefix."pbl_listings WHERE $package $category  time_expired>$timenow AND active=1 ORDER BY  id DESC");
 
[MENTION=70900]FerMolina[/MENTION] mil gracias ! :encouragement: Lo conseguí como me dijiste en cuanto al orden por ID...
sólo que si le pongo "name" en lugar de ID no me hace caso para que se ordene por ORDEN ALFABETICO del name... me podrías ayudar si es que sabes ya por ultimo con ello? estoy buscando el codigo en google para hacerlo alfabeticamente pero nada :s

Y por otro lado, quisiera preguntarte si trabajas como programador por aquí en el foro, me gustaría me cotizaras un trabajo (buscador para una pagina, que solo busque en el texto de esa pagina o listado del directorio, ya que el directorio esta en una sola pagina y es largo, pero quisiera que el visitante se pueda desplazar facimar facilmente a lo largo de esa pagina si conoce el nombre del negocio), te puedo mandar Mp respecto a esto?
 
FerMolina mil gracias ! :encouragement: Lo conseguí como me dijiste en cuanto al orden por ID...
sólo que si le pongo "name" en lugar de ID no me hace caso para que se ordene por ORDEN ALFABETICO del name... me podrías ayudar si es que sabes ya por ultimo con ello? estoy buscando el codigo en google para hacerlo alfabeticamente pero nada :s

Y por otro lado, quisiera preguntarte si trabajas como programador por aquí en el foro, me gustaría me cotizaras un trabajo (buscador para una pagina, que solo busque en el texto de esa pagina o listado del directorio, ya que el directorio esta en una sola pagina y es largo, pero quisiera que el visitante se pueda desplazar facimar facilmente a lo largo de esa pagina si conoce el nombre del negocio), te puedo mandar Mp respecto a esto?

Hola, ordenalo por "Name", fijate ahí se va a ordenar alfabéticamente.
Por otro lado, con respecto a tu pedido, podría hacerlo, pero últimamente estoy con un proyecto el cual requiere más del tiempo disponible.
Deberías crear oferta destacada o algo por el estilo pidiendo programador para lo que requieres, hay muchos y muy buenos programadores aquí.
Me alegro que te haya sido de ayuda. :encouragement:

- - - Actualizado - - -

Perdón, no leí que ya habías intentado cambiando el order by name.
Intenta hacer un ORDER BY 2
Cambiar la palabra "ID" por el número 2 (posición en la tabla, es decir: 1. id, 2. name, 3. logo_url,.... etc)
 
Última edición:
[MENTION=70900]FerMolina[/MENTION] Perfecto!!! Muchas gracias en verdad. saludos
 
Atrás
Arriba