Respuestas de foro creadas

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • Todo puedes hacerlo en el mismo loop. Solo deberás introducir más comprobaciones con if o switch. Imagina que necesitas crear la siguiente estructura:

    <div class='capa-1'>
       <div class='entrada'>ENTRADA 1, su título, texto y todo lo que quieras mostrar aquí.</div>
       <div class='entrada'>ENTRADA 2, su título, texto y todo lo que quieras mostrar aquí.</div>
    </div>
    
    <div class='capa-2'>
       <div class='entrada'>ENTRADA 3, su título, texto y todo lo que quieras mostrar aquí.</div>
       <div class='entrada'>ENTRADA 4, su título, texto y todo lo que quieras mostrar aquí.</div>
    </div>

    Pues para ello dentro de tu LOOP deberás introducir un código parecido a:

    <div class='capa-1'>
    
    <!-- Empieza tu Loop aquí "have posts etc..." >
    $post_actual = $wp_query->current_post;
    
    <?php if ( $post_actual == 1 || $post_actual == 2 ) { ?>
        <div class='entrada'>
            <?php the_content(); ?>
        </div>
    <?php } ?>
    
    <?php if ( $post_actual == 3 || $post_actual == 4 ) { ?>
    </div> <!-- Se cierra el DIV de capa-1 -->
    <div class='capa-2'>
        <div class='entrada'>
            <?php the_content(); ?>
        </div>
    <?php } ?>
    
    <!-- Termina aquí tu loop "endwhile..." -->
    
    </div> <!-- Se cierra el DIV de capa 2 -->

    Esto es un ejemplo muy simple, para que lo comprendas y te orientes mejor. Es muy suceptible de ser mejorado. En resumen consiste en abrir o cerrar la capa según el post que se esté mostrando. PHP no es difícil ;), puedes encontrar ejemplos sobre como usar IF o SWITCH en los siguientes enlaces:

    http://php.net/manual/es/control-structures.if.php
    http://php.net/manual/es/control-structures.switch.php

    Un saludo, Alejandro Gálvez – OptimalDevs.

    No necesitas PHP para lograr esto, con CSS, una buena estructura de capas y los correctos selectores puedes ingeniártelas para dar un estilo distinto a cada entrada mostrada en tu loop:

    http://www.w3schools.com/cssref/css_selectors.asp

    Pero si quieres controlarlo por PHP de una forma más sencilla, entonces deberás asignar un estilo distinto a cada entrada mostrada en función de su orden. Para ello debes utilizar $wp_query->current_post dentro del Loop. Lo cual devolverá el número de orden de la entrada mostrándose en ese instante. Es decir podrás crear un condicional o un switch en función de su contenido, por ejemplo:

    <?php if ( $wp_query->current_post <= 2 ) { ?>
        <div class='entrada-1-2'>
            <?php the_content(); ?>
        </div>
    <?php } ?>

    Ese código mostrará la primera y segunda entrada dentro de un div cuya clase CSS será «entrada-1-2».

    Aqui tienes información detallada sobre el Loop y WP_Query:

    http://codex.wordpress.org/The_Loop
    http://codex.wordpress.org/Class_Reference/WP_Query

    Tendrás que recuperar dicho post a través de su ID mediante la función get_post(). Esta función devuelve toda la información del post indicado en forma de objeto, permitiéndote mostrar su contenido.

    <?php
    $id_post_a_recuperar = 7;
    $post_recuperado = get_post( $id_post_a_recuperar );
    $titulo = $post_recuperado->post_title;
    echo $titulo;
    ?>

    Este código recuperaría el post cuyo ID es 7 y mostraría su título con un echo.

    Te insto a que visites el Codex y leas bien la documentación sobre esta función y todas las propiedades accesibles del objeto:

    http://codex.wordpress.org/Function_Reference/get_post

    Un saludo, Alejandro Gálvez – OptimalDevs.

    Buenas tardes MaquiRWA, ¿podrías dar algunos datos más sobre tu problema?

    • ¿Desde qué versión has actualizado a la 3.4.2?
    • ¿Has hecho una actualización manual o has utilizado la herramienta que incorporta WordPress?
    • ¿Desactivaste los plugins que utilizas antes y después de la actualización?

    Posiblemente tu error se deba a una incompatibilidad con un plugin que estés utilizando. Mi consejo es que trates de desactivarlos todos y comprobar si el problema persiste. Te dejo un enlace sobre cómo realizar una actualización correcta de forma manual.

    http://www.nivmar.com/2009/08/como-actualizar-wordpress-manualmente-a-cualquier-version.html

    Si aún así no logras detectar el fallo y corregirlo quizás deberías probar con plugins destinados a mejorar, e inclusos sustituir, el editor visual de WordPress, ya que dices ser tan dependiente de él:

    Plugins para TinyMCE

    Si nada te funciona, lo cual dudo pues seguramente será un plugin el que este fastidiandote, podrías tratar de reinstalar WordPress de forma limpia manteniendo tus datos a salvo en la base de datos. Pero no pienses en esta posibilidad hasta haber descartado todo lo demás.

    Un saludo, Alejandro Gálvez – OptimalDevs.

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)