viernes, 13 de abril de 2012

Hoy en AyudaWordPress.com

Hoy en AyudaWordPress.com

Link to Ayuda WordPress

WordPress 3.4 beta 2

Posted: 13 Apr 2012 03:59 PM PDT

Con solución a más de 60 fallos y cambios propuestos por los que ya hemos probado la beta 1, ya está disponible WordPress 3.4 beta 2, lista para seguir haciendo pruebas y ver como se adaptan tus plugins y temas.

La puedes descargar aquí o echarle un vistazo en el sitio de pruebas.

Mostrar extractos de páginas inferiores

Posted: 13 Apr 2012 08:31 AM PDT

Seguro que te ha pasado más de una vez, que creas una estructura jerárquica de páginas en la que la página superior o madre en realidad no es más que un texto, que en realidad no lleva a ninguna parte. Por ejemplo, haces una página llamada “Servicios” de la que cuelgan como subpáginas “Diseño” y “Formación“, pero en “Servicios” no hay nada, es una sola estructura de navegación.

Lo que queda fatal es, en estos casos, que alguien haga clic en la página superior y le lleve a una publicación vacía, sin contenido, teniendo que volver a navegar por el menú para acceder a “algo”.

Un modo de evitar este fallo de usabilidad es que el menú no enlace a nada como ya expliqué, pero si queremos darle una vuelta de tuerca y ofrece algo ¿qué mejor que un listado de las subpáginas, con un extracto que muestre su contenido?.

Para conseguirlo debes editar el loop del archivo ‘page.php‘ de tu tema con este código:

<? $pageChildren = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = ".$post->ID." AND post_type = 'page' ORDER BY menu_order", 'OBJECT'); ?> <? if ( $pageChildren ) : foreach ( $pageChildren as $pageChild ) : setup_postdata( $pageChild ); ?> <!-- loop stuff here --> <? endforeach; endif; ?>

Pero si tienes páginas que si tengan contenido entonces tendrías que añadirle un condicional más para que no muestre títulos y extractos de subpáginas en ese caso, de este modo:

<? if (is_page('3')) { } else { // if its page 3 then show nothing ?> <? $pageChildren = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = ".$post->ID." AND post_type = 'page' ORDER BY menu_order", 'OBJECT'); ?> <? if ( $pageChildren ) : foreach ( $pageChildren as $pageChild ) : setup_postdata( $pageChild ); ?> <!-- loop stuff here --> <? endforeach; endif; } ?>

Ahora bien, la opción más segura será siempre crear una plantilla de página personalizada cuyo loop tenga el primer código y elijas esa plantilla para tus páginas “madre”.

Estupendo truco de The WordPress Guru

No hay comentarios:

Publicar un comentario

Seguidores

Archivo del blog