Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Algo raro le pasa a mi theme

Estas en el tema de Algo raro le pasa a mi theme en el foro de WordPress en Foros del Web. Les cuento que hace un tiempito hice un theme nuevo para mi blog (De hecho todabia necesito afinarlo un poco). El tema es que a ...
  #1 (permalink)  
Antiguo 10/03/2010, 13:31
Avatar de study  
Fecha de Ingreso: junio-2009
Mensajes: 53
Antigüedad: 15 años, 5 meses
Puntos: 2
Pregunta Algo raro le pasa a mi theme

Les cuento que hace un tiempito hice un theme nuevo para mi blog (De hecho todabia necesito afinarlo un poco). El tema es que a mi me parecia perfectamente funcional. Ademas llevo un tiempo desarrolando un plugin, de repente una función de este fallaba (como si estuviera ejecutandose dos veces seguidas). Despues de casi volverme loco por una semana, se me dio por cambiar el theme y voila, se habia solucionado. Entonces me puse a hacer pruebas sobre el theme y descubri con espanto que algunas funciones las ejecutaba por duplicado, pero a medias. Si simplemente las ejecutara por duplicado, seguramente se deberia a que estoy llamando a la misma función dos veces o a que la funcion estaba en un bucle, pero no, no solo no era eso sino que solamente algunas instrucciones se ejecutan doble.

Para compribarlo me arme estos dos sencillos mini-plugins:

Código PHP:
function contar(){
$contador get_option('contador',0);
$contador++;
update_option('contador',$contador);
echo 
$contador;
echo 
"hola mundo";
}

add_action('wp_footer','contar'); 


notas: las funciones get y update option pertenecen a wp. update_option crea la opción si esta no existe.

Código PHP:
function iniciar_sesion(){
if(!isset(
$_SESSION)){
session_start();
}
}

function 
contar2(){
if(!isset(
$_SESSION['contador'])){
$_SESSION['contador'] = 0;
}
$_SESSION['contador']++;
echo 
$_SESSION['contador'];
echo 
"Hola mundo";
}

add_action('plugins_loaded','iniciar_sesion');
add_action('wp_footer','contar2'); 

notas: la primera funcion es para iniciar session en caso de que no lo este ya. Si bien ambas funciones imprimen el contador el el footer, no solo ahí se produce el error.

Como veran, si bien ambas funciones son simples contadores que deberian sumar de a uno, en realidad suman de a dos, pero el resto de las instrucciones solamente se ejecutan una vez (por ejemplo "hola mundo" solamente se imprime una vez al igual que el resultado del contador).

El theme lo subí aca: [URL="http://www.mediafire.com/?210moegkmne"]http://www.mediafire.com/?210moegkmne[/URL]

Tambien les hice una versión super simplificada del index para que vean que no tiene ninguna estructura rara:

Código PHP:
< ?php get_header(); ? >

< div id="navigation" >
< ul id="menu" >
<li><a>" title="regresar a la página principal" >Home</a></li>

< ?php wp_list_pages('sort_column=menu_order&amp;depth=1&amp;title_li='); ? >
</ul >
< /div >

<?php if (have_posts()) : ?>
<?php 
while (have_posts()) : the_post(); ?>

<?php endwhile; ?>

<?php else : ?>

<?php endif; ?>

<?php get_sidebar(); ?>
<?php get_footer
(); ?>


Espero que algun alma caritativa (que sepa php) me pueda ayudar. Salu2.

Etiquetas: funciones, themes
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 17:58.