Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] get_tags Wordpress Plugin

Estas en el tema de get_tags Wordpress Plugin en el foro de PHP en Foros del Web. Hola, Hace tiempo hice un plugin para Wordpress que muestra un Widget Abecedario de la A a la Z de etiquetas. Al pulsar en una ...
  #1 (permalink)  
Antiguo 06/11/2013, 12:21
 
Fecha de Ingreso: noviembre-2013
Mensajes: 3
Antigüedad: 10 años, 5 meses
Puntos: 0
Pregunta get_tags Wordpress Plugin

Hola,

Hace tiempo hice un plugin para Wordpress que muestra un Widget Abecedario de la A a la Z de etiquetas.

Al pulsar en una letra se desplegan un listado de todas las etiquetas que comienzan por esa letra.

El caso es que desde la última actualización de Wordpress no funciona bien.

Ahora al pulsar sobre una letra sale un listado de etiquetas que contienen esa letra, y no que comiencen por esa letra como hasta entonces.

Pego a continuación el código, por si alguien puede decirme cual es el problema, porque yo no lo encuentro.


Código PHP:
<?php $tags get_tags( array('name__like' => "a"'order' => 'ASC') );
                    unset(
$etiqueta);
                    foreach (
$tags as $tag){
                        
$tag_link get_tag_link($tag->term_id);
                        
$etiqueta .= "<ul><li><a href='{$tag_link}' title='{$tag->name}' target='_blank'>{$tag->name}</a> <span style='font-size:11px;'>($tag->count)</span></li></ul>";
                    }
                    echo 
$etiqueta;
               
?>
He colgado todo el código del plugin aquí: [URL="http://txt.do/dbt3"]http://txt.do/dbt3[/URL]

Última edición por Teby4444; 06/11/2013 a las 12:26
  #2 (permalink)  
Antiguo 07/11/2013, 02:50
 
Fecha de Ingreso: noviembre-2013
Mensajes: 3
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: get_tags Wordpress Plugin

¿Alguien? He mirado si había alguna función "deprecated" pero no doy con la tecla.
  #3 (permalink)  
Antiguo 12/11/2013, 09:47
 
Fecha de Ingreso: noviembre-2013
Mensajes: 3
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: get_tags Wordpress Plugin

Vale, ya encontré la solución.

La expongo a continuación:

Como bien se explica en esta web, http://wordpressyeah.com/blog/get-terms-name__like/,
desde la versión de Wordpress 3.7 el parámetro name__like fue cambiado para detectar lo que contiene y no lo que comenzaba (por eso mi plugin tenía ese problema)

Basta con añadir el siguiente plugin,downloads.wordpress.org/plugin/get-terms-name-like.zip, y activarlo, para que la función vuelva a funcionar como antes. (Digamos que sería un parche)

El código de dicho plugin es el siguiente:

Código PHP:
Ver original
  1. <?php
  2. add_filter( 'terms_clauses', 'gtnl_get_terms_name__like', 10, 3 );
  3.  
  4. function gtnl_get_terms_name__like( $pieces, $taxonomies, $args ) {
  5.     global $wp_version;
  6.  
  7.     if ( !is_admin() ) {
  8.  
  9.         // return for versions lower than 3.7
  10.         if ( version_compare( $wp_version, "3.7", "<" ) )
  11.             return $pieces;
  12.  
  13.         if ( isset( $args['name__like'] ) && $args['name__like'] ) {
  14.             $pattern = "/AND t\.name LIKE '%(.*?)%'/";
  15.             $replacement = "AND t.name LIKE '\$1%'";
  16.             $pieces['where'] = preg_replace( $pattern, $replacement, $pieces['where'] );
  17.         }
  18.  
  19.     }
  20.  
  21.     return $pieces;
  22. }

Etiquetas: plugin, wordpress
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:45.