No puedo modificar los elementos en el admin 27/10/2011 at 18:13
Desde hace unas horas, al intentar añadir elementos desde el admin, entrando en el menu de ‘Carrousel0′, no se visualizan las pantallas y el resto de la configuración. Creando nuevos carouseles, pasa exactamente lo mismo. Sin embargo en el theme se visualiza perfectamente el carousel. ¿Alguna sugerencia? Gracias.
PD: Añado una captura de la visualización: http://imageshack.us/photo/my-images/339/capturauje.jpg/
Reply To: No puedo modificar los elementos en el admin 28/10/2011 at 15:52
No estoy seguro de que este sea el problema, pero te lo comento porque podría ser.
WP Carousel, para permitirte seleccionar un artículo individual a través de una lista en lugar de teniendo que introducir su ID, necesita obtener la lista de todos los artículos que tienes en el blog para a continuación crear la lista. Todo esto con el objetivo de evitar que tengas que introducir la ID del artículo.
Sin embargo, como supondrás, al tener muchos artículos (no te puedo dar una cifra exacta porque no la tengo), WP Carousel acaba requiriendo más tiempo del que tiene disponible o más memoria de la permitida, lo que provoca un error y corta la ejecución del script.
Uno de los síntomas de que este problema sucedía es que la página de administración de WP Carousel se quedaba a medio cargar, como en tu imagen. Ahora bien, para estar seguro necesitaría ver el código HTML generado ya que seguramente por ahí habrá un error de PHP oculto por alguna etiqueta.
Creo recordar que en la última versión (si no lo hice, lo habré hecho para la actual versión en desarrollo) añadí un límite de 1000 artículos. Si tenías más de 1000 artículos publicados entonces en lugar de mostrarte la lista de artículos te mostraba un cuadro de texto donde tenías que escribir la ID del artículo a mostrar.
La solución es fácil: en el archivo wp-carousel.php, en las primeras líneas verás unas constantes llamadas cosas similares a WP_CAROUSEL_SHOW_POSTS_IN_CAROUSEL_OPTIONS. Si cambias el valor de estas constantes de 1 a 0 harás que no se muestren los respectivos elementos en la página de opciones. Estas constantes están definidas sobre las líneas 80-84 (de la versión en desarrollo).
Hay otra constante en la línea 116 llamada WP_CAROUSEL_ITEMS_COUNT_LIMIT que contiene el límite de artículos que cargará WP Carousel. Cambia su valor (por defecto 1000) a otro más pequeño para evitar que se cuelgue el script.
Si resulta que el problema no era ese, necesitaré más datos. Sería interesante ver el código HTML, y que probaras desactivando otros plugins.
¿El error se ha producido de un día para otro? ¿Sin hacer ningún cambio?
Aún así, primero prueba a reducir el valor de la constante WP_CAROUSEL_ITEMS_COUNT_LIMIT y a desactivar WP_CAROUSEL_SHOW_POSTS_IN_CAROUSEL_OPTIONS, ya que probablemente esto solucione el problema.
Reply To: No puedo modificar los elementos en el admin 30/10/2011 at 13:33
Efectivamente el problema era ese límite de 1000 posts, bajando ese límite ya se me muestra correctamente la admin pero con la opción de indicar la ID manualmente. El problema es que esa opción de selección manual mediante el desplegable, es el principal motivo por el que decidí que este plugin era especial, por comodidad mia y sobre todo de mis usuarios autores.
¿Hay alguna manera de indicar que esa lista sólo cargue los últimos posts? no se si así evitaría esa sobrecarga, pero creo que podría ser un principio de solución.
Un saludo.
Reply To: No puedo modificar los elementos en el admin 30/10/2011 at 16:51
Antes que nada, ¿podrías decirme con qué límite te ha funcionado bien? Así bajaré el límite por defecto y evitaremos que este problema se repita más veces.
En principio puedes hacer que la lista cargue sólo los últimos N artículos. Requiere algunas modificaciones en el archivo wp-carousel.php, modificaciones que se perderán al actualizar el plugin (al igual que el límite, que tendrás que ponerlo de nuevo, a no ser que me digas el límite que has usado y lo ponga yo por defecto).
La modificación que tienes que hacer para mostrar los últimos N artículos en la lista (en lugar del cuadro de texto para la ID), asumiendo que N es el límite que has usado para la constante WP_CAROUSEL_ITEMS_COUNT_LIMIT son:
Ir a la 3982 de wp-carousel.php, donde encontrarás el siguiente código:
echo ‘<input type="text" name="category_id" id="category_id" class="postform" value="’.$selected.’" />’;
Reemplázalo por:
echo "<select name=’category_id’ id=’category_id’ class=’postform’ >";
$posts_query = new WP_Query(‘showposts=’.WP_CAROUSEL_ITEMS_COUNT_LIMIT);
while ($posts_query->have_posts())
{
$posts_query->the_post();
echo ‘<option value="’.get_the_ID().’"’;
if (get_the_ID() == $selected)
{
echo ‘ selected="selected"’;
}
echo ‘>’.get_the_title().’</option>’;
}
echo "</select>";
Ojo, no he comprobado que funcione. Debería funcionar ya que en lugar de mostrar todos los artículos, cargará sólo los N últimos, pero no lo he comprobado.
Ahora bien, recuerda que al actualizar WP Carousel o reinstalarlo perderás estos cambios. Intentaré mejorar este aspecto de WP Carousel en las próximas versión en la medida en la que me sea posible.
Recuerda decirme que límite has usado, así me será más fácil usar un límite que evite este problema.
¡Gracias por usar WP Carousel y por reportar los errores!
Reply To: No puedo modificar los elementos en el admin 5/11/2011 at 11:24
Por error cerré este tema en lugar de otro diferente. El autor de este tema, Andrewasencio, se puso en contacto conmigo para comentarme que la solución le valió y para preguntarme acerca de la posibilidad de cambiar el comportamiento de WP Carousel para que en lugar de mostrar un campo de texto donde introducir la ID de los artículos, se mostrase una lista con los últimos artículos publicados en lugar de la lista de todos los artículos.
Ambas características (tanto un límite de artículos menor como la posibilidad de escoger mostrar los últimos artículos en lugar del campo para la ID) han sido añadidas a WP Carousel 1.1, que está actualmente en desarrollo y será liberado una vez esté disponible WordPress 3.3.
This topic has been closed to new replies.