Warning: error_log(/home/zetxek/domains/picateclas.net/public_html/wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.log) [function.error-log]: failed to open stream: Permission denied in /home/zetxek/domains/picateclas.net/public_html/wp-content/plugins/all-in-one-seo-pack/aioseop.class.php on line 986

Warning: error_log(/home/zetxek/domains/picateclas.net/public_html/wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.log) [function.error-log]: failed to open stream: Permission denied in /home/zetxek/domains/picateclas.net/public_html/wp-content/plugins/all-in-one-seo-pack/aioseop.class.php on line 986

Warning: error_log(/home/zetxek/domains/picateclas.net/public_html/wp-content/plugins/all-in-one-seo-pack/all_in_one_seo_pack.log) [function.error-log]: failed to open stream: Permission denied in /home/zetxek/domains/picateclas.net/public_html/wp-content/plugins/all-in-one-seo-pack/aioseop.class.php on line 986

PicaTeclas

20May/090

Mostrar un listado anidado de términos de taxonomía en Drupal

Buscando cómo mostrar un listado aninado de los términos (terms) de un vocabulario (una categoría de Drupal, o taxonomy), encontré este útil fragmento de código en Drupal.org. Para que funcione esto es necesario usar el módulo Taxonomy.

<?php
            // El ID del vocabulario de la taxonomia del que queremos crear la lista de terminos
            $vid = 10;
 
            $depth = 0;
            $num_at_depth = 0;
            $tree = taxonomy_get_tree($vid);
 
            print "<ul class=\"menu\">\n<li>";
            foreach ($tree as $term) {
            $diffdepth=0;
              if ($term->depth > $depth) {
                print "\n<ul>\n<li>";
                $depth = $term->depth;
                    $num_at_depth = 0;
              }
              if ($term->depth < $depth) {
                $diffdepth= $depth -$term->depth;
                while ($diffdepth > 0){
                    print "</li>\n</ul>\n";
                    $diffdepth -- ; 
                }
                    $depth = $term->depth;
              }
              if (($term->depth == $depth) && ($num_at_depth > 0)) {
                  print "</li>\n<li>";
                }
              print l($term->name, 'taxonomy/term/' . $term->tid);
                $num_at_depth ++;
            }
            print "</li>\n</ul>\n";
?>

El crédito va al autor, billyboylindien

6May/090

Reemplazo masivo en cadenas de texto con SQL

Actualizar muchas entradas de una base de datos que contengan un determinado texto puede ser tedioso (me refiero a programar algún script para que lo haga, porque hacerlo a mano seria digno del siglo XIX si hay muchos datos...).
Así, para actualizar los registros de una tabla entera aplicando el patrón de reemplazo deseado, sólo habrá que utilizar una consulta SQL:
  1. UPDATE table_name SET column_name = REPLACE(column_name,"original_string","replace_string");
Un ejemplo de aplicación sería actualizar todos los links hacia un determinado host o URL de los posts de una base de datos de wordpress para que apunten a otro:
  1. UPDATE `wp_posts` SET `post_content` = REPLACE(`post_content`,"picateclas.com/directorioantiguo/","picateclas.com/nuevodirectorio")

Vía | LiewCF.