Pasar del home al index

Inicio Foros WordPress Themes y Diseño Pasar del home al index

Etiquetado: , , ,

Este debate contiene 17 respuestas, tiene 3 mensajes y lo actualizó  imported_Mno4K hace 8 años, 8 meses.

  • Autor
    Publicaciones
  • #14854

    guardafaro
    Participante

    <p>Estoy desarrollando un theme en el que tengo un home.php para presentar la página principal con cuatro post, que es distinta al resto de las páginas. Debajo del header, esta página inicial o home muestra el último post, o más reciente, con un formato destacado. A continuación, debajo se presenta el siguiente post, en formato normal (dividido con el "more"), y debajo se presentan los siguientes dos posts como excerpts, lado a lado.</p>
    <p>Quiero que, al pulsar en los enlaces de navegación "ver entradas anteriores" la página que se abra sea distinta a la prinera, con los posts presentados como post "normales" (sin el destacado ni los excerpts, que son solo para el home). La configuración de estas otras páginas siguientes es la normal que está en el index.php. </p>
    <p>Me encuentro trancado porque no logro como resolver la condicional para que, al pulsar la navegación paginada, le de entrada al index.php para presentar los siguientes post según he indicado.
    </p>

  • #33772

    davidlluna
    Participante

    Ver el codigo de home.php seria de gran ayuda :

    Saludos

  • #33812

    guardafaro
    Participante

    Replanteo mi pregunta:
    Para invocar (presentar o incluir) a cualquier plantilla de WP se utilizan las tags: get_header(,)
    get_sidebar(), get_footer(); o los include TEMPLATEPATH . ‘/xxxx.php’ etc.
    Pero, hasta donde yo sé, no se usa ninguna de ellas para presentar o incluir el index.php, debido al principio de las jerarquias de WP.

    Yo tengo en desarrollo un theme con un home.php, por medio del cual, como página principal de entrada, presento tres post, cada uno formateado en un estilo específico, definido en el CSS. Lo que necesito saber es como hacer para que, al pulsar sobre el enlace del pie de pagina: “ver post anteriores” los post que se presenten en la siguiente página y sucesivas (es decir, desde el cuarto post en adelante) se vean con el estilo “normal” definido en el index.php

  • #33824

    davidlluna
    Participante

    En la configuración de wordpress puedes definir que plantilla quieres para la pagina principal y que plantilla quieres para mostrar los posts, que configuración tienes tu?

    También podrías usar el filtro ‘template_redirect’ para cargar index.php

    Saludos

  • #33836

    guardafaro
    Participante

    En la configuración de WP tengo la usual, de presentar los últimos posts. El home.php se inicia por simple jerarquía. No conocía el ‘template_redirect’. He estado mirándolo en el Codex de WP; pero es poco lo que indica, fuera del ejemplo de uso:
    function all_on_one () {
    include(TEMPLATEPATH . ‘/all.php’);
    exit;
    }
    add_action(‘template_redirect’, ‘all_on_one’);

    He estado probando en diversas opciones, cambiando el all.php por index.php; pero no ha funcionado.

    Como ya he indicado, me parece que lo que yo necesito es incluir, dentro de la usual instrucción de WordPress:

    la instrucción necesaria para que, al pulsar sobre el enlace, se inicie el index.php mostrando los post con el estilo definido allí.

  • #33847

    imported_Mno4K
    Participante

    Hola guardafaro!

    Como ya he indicado, me parece que lo que yo necesito es incluir, dentro de la usual instrucción de WordPress:

    la instrucción necesaria para que, al pulsar sobre el enlace, se inicie el index.php mostrando los post con el estilo definido allí.

    Eso no se puede hacer. next_post_link es una función de wordpress, se le pasan parámetros, no instrucciones. Cuando mucho, podrías modificar la función en el código de WP, pero es muy poco recomedable, y, además, esa función trabaja llamando a otra, que a su vez llama a unas cuantas más, sería mucho toqueteo de código.

    Tengo una idea de como podés lograr lo que querés, sin necesidad de pasar nunca al index.php. lo que podés hacer es tener un loop condicionado. Es decir:

    Entonces, en la pagina principal carga el loop que está en el else de If is_paged(), que sería tu destacado, excerpt, etc. Y después, en los post anteriores, los paginados, carga el primero, que le pondrías el del index.php.

    Espero que te sirva, saludos!

  • #33895

    guardafaro
    Participante

    Gracias Mno4K por recordarme lo de los “parámetros”. A veces no me cuido en la precisión de los términos. Probé de forma sencilla tu “if(is_paged())” que no la conocía, y funcionó… después de pelear un rato y darme cuenta de que omitiste poner “php” despés del signo de interrogación.
    Después de añadir tooodo el código intermedio que tenía en el home, me funciona… a medias, pues solo me muestra el primer post, y no los otros 3, del total de 4 que deben presentarse en la página de inicio. Se los come. Supongo que tengo un error con el manejo del contador y/o con los condicionales. Ando flojo en PHP. Así que, abuso de tu amabilidad y coloco el código (omitiendo lo no necesario, para aligerar, que seguro que encuentras en un periquete lo que está mal.

  • #33900

    imported_Mno4K
    Participante

    [quote]Gracias Mno4K por recordarme lo de los “parámetros”. A veces no me cuido en la precisión de los términos.[/quote]

    De nada. Espero no haber quedado demasiado tecnisista para nada, que no era la idea. Solamente no sabía si tenías en claro que una función tiene ciertas cosas bien definidas que podés pasarle. Parámentros o instrucciones, da igual como le digas, pasa que parecía que querías pasarle instrucciones en el sentido de cachos de código “x” para que hiciera lo que vos querías. Es probable que te haya entendido mal. 😛

    Volviendo al código, me parece que tu problema estaba en que cerrabas todos los IF al final. No sé si antés te funcionaba así, pero abriendo y cerrando cada uno luego de su bloque de instrucciones es mejor – y anda-:

    Ah, disculpame que saque tus comentarios del código y toque otras cosas en este que te pego, es que para probarlo lo pegue en el default de mi wordpress local y se descuajeringaba todo con los coments.

    Saludos!

  • #33929

    guardafaro
    Participante

    Mno4K, por supuesto que ahora funciona. Como has dicho, era cuestión del sitio del cierre de los condicionales IF. En verdad que te lo agradezco, porque con esta forma de tener post con distintos estilos en la página principal; pero luego en la paginación poder verlos todos en la forma que sería normal, hace imnecesario tener un home.php y un index.php y el inconveniente de pasar de uno a otro que fue mi consulta. Con esto es suficiente o un home.php o un index.php, como quieras.

    Pero… si bien funciona bien, me he encontrado con un problemilla al mostrar el post 4, que, como dije en la anterior, omití por economía, ya que, aparentemente, era repetición del código del post 3. Creo que tengo un fallo en el uso de los div. Te explico. El post 1 y el 2,si bien tienen un estilo distintos, se ven a todo lo ancho del contenedor. Pero los post 3 y 4 son dos extractos al final, que se ven uno al lado del otro. El asunto es que el extracto identificado como 4 no me está qdando al ado, sino en una capa debajo.
    Te pongo el CSS y PHP para que te hagas una mejor idea.

    CODIGO CSS.
    .entradas-secundarias {
    width: 100%;
    float: left;
    display: block;
    background-color: #fff;
    margin-bottom: 1em;
    border: 1pt solid #000;
    }

    .secundario1 {
    width: 47%;
    float: left;
    display: block;
    padding: 10px 2px 2px 10px;
    text-align:left;
    }

    .secundario2 {
    width: 47%;
    float: right;
    display: inline-block;
    padding: 10px 10px 2px 2px;
    text-align:left;
    }

    CODIGO PHP

    < ?php if ($loopcounter == 3) : ? >
    < div class="entradas-secundarias" >
    < div class="secundario1" >
    < div class="item-secundario entry" id="post-< ?php the_ID(); ? >" >
    < h3 >" rel="bookmark" >< ?php the_title(); ? >< /h3 >
    < div class="storycontent" > < ?php the_excerpt() ? >< /div >
    < /div >
    < /div >
    < /div >
    < ?php endif; ? >//fin tercero

    < ?php if ($loopcounter == 3) : ? >
    < div class="entradas-secundarias" >
    < div class="secundario2" >
    < div class="item-secundario entry" id="post-< ?php the_ID(); ? >" >
    < h3 >" rel="bookmark" >< ?php the_title(); ? >< /h3 >
    < div class="storycontent" > < ?php the_excerpt() ? >< /div >
    < /div >
    < /div >
    < /div >
    < ?php endif; ? >//fin tercero

    < ?php endwhile; ? >
    < ?php endif; ? >//fin paginacion

  • #33930

    guardafaro
    Participante

    ¡Vaya, eso anterior saltó a publicación antes de dar al enviar mensaje!
    Bueno, termino de aclarar lo que me faltó. Los extractos 3 y 4, (&loopcounter 3 y 4)deberían verse juntos, dentro de la misma caja “.entradas-secundarias” pero el 3 “.secundario1” flotando a la izquierda y el 4 “.secundario2″” inline” a la derecha del otro. Pero ocurre que el 4 aparece a la derecha, sí, pero más abajo. Supongo que es algún div que quizás no va donde lo pongo; pero aunque he probado modificaciones, sigue igual.

  • #33933

    guardafaro
    Participante

    ¡Listo, ya funciona!
    Lo que son las cosas. Después de día y medio sin logar resolver el detallito, decidi hacer la consulta anterior. Después de eso, una buena ducha y una cena regada con música de Vivaldi. Luego sentarte cómodo frente a la TV a ver un capítulo de Fringe y ¡zas! Un flashback junto a un flashorward y asunto resuelto. El “div class=”entradas-secundarias” que estaba casi seguro que estaba repetido, mal colocado y cerrado, que daba vueltas en la cabezá, se acomodó donde debía estar. El trozo de código quedó así:


    < ?php if ($loopcounter == 3) : ? >
    < div class="entradas-secundarias" ><!-- el contenedor del 3 y 4 -->
    < div class="secundario1" >
    < div class="item-secundario entry" id="post-< ?php the_ID(); ? >" >
    < h3 >" rel="bookmark" >< ?php the_title(); ? >< /h3 >
    < div class="storycontent" > < ?php the_excerpt() ? >< /div >
    < /div >
    < /div >
    < ?php endif; ? >//fin de 3

    < ?php if ($loopcounter == 4) : ? >
    < div class="secundario2" >
    < div class="item-secundario entry" id="post-< ?php the_ID(); ? >" >
    < h3 >" rel="bookmark" >< ?php the_title(); ? >< /h3 >
    < div class="storycontent" > < ?php the_excerpt() ? >< /div >
    < /div >
    < /div >
    < /div ><!-- cierra entradas-secundarias -->
    < ?php endif; ? >//fin de 4

    < ?php endwhile; ? >
    < ?php endif; ? >//fin paginacion

    Como digo, son esas cosas que pasan.

  • #33937

    imported_Mno4K
    Participante

    Joya guardafaro, me alegra que lo hayas podido solucionar, espero que te haya quedado como querías :-). Eso sí, cuando lo termines, postea un link, porque ya me agarro intriga, 😛

    Saludos!

  • #33968

    guardafaro
    Participante

    Vale, con gusto lo haré, aunque, por falta de tiempo para dedicarle, aún tendré que esperar para hacer el cambio en la plantilla que uso actual y pueda subir esta que estoy desarrollando.

  • #33972

    guardafaro
    Participante

    Me parece que canté victoria pronto. Todo parecía ir bien: la vista de la página principal, la navegación paginada hacia adelante y hacia atrás, todo, aparentemente. Todo menos la vista en single de los post. En single todo se va al traste: la barra de navegación desaparece, los sidebar si ban abajo, al ancho total, etc. Los únicos que se mantienen en su lugar son el header y el footer.
    No es problema del css ni del single.php, pues no se han tocado, y en la versión anterior, antes de modificar el home funcionan. Es algo de lo que hemos hecho en el home.php y no encuentro qué pueda ser.

  • #33985

    imported_Mno4K
    Participante

    Mhm, me resulta muy raro, porque home.php y single.php son independientes, y si no comparten clases que hayas modificado en el .css, la salida de single.php no debería haber cambiado en nada. Si querés, pega acá el single.php a ver si nos damos cuenta que anda pasando.

    Saludos!

  • #34000

    guardafaro
    Participante

    Pues como no encuentro las caritas emoticones, digo: jejee. Este mundillo es para tomárselo con calma. Unas veces quedas a punto de infarto, como cuando yo vi que el la vista de los post en single se fue al diablo, y otras es para ponerse a reir, como ahora, que encontré cual era el problema.
    Había supuesto que no podía ser problema en el single.php `porque, después de crearlo, la ultima vez que probé los posts se veían perfectamente, por lo que no volví a tocarle el código. Después pasé días peleando con las otras partes, las de este hilo principalmente, y di todo por bueno.
    Resulta que, después de detectado el problema yo había “ojeado” apenas el single.php, dándolo por válido. Pero… recordé que el código no lo había tocado; pero había escrito una nota de encabezado para registrar el cambio de versión. Y observé que en la nota faltaban un par de letras y un punto. Así que me puse a revisar el código, letra por letra, y encontré que, dentro de la clase que define precisamente el navbar, estaban insertadas esas dos letras y el punto, cambiándolo todo, por supuesto. ¿Cómo llegaron allí? No tengo ni idea. Pero ahora ya está todo bien.
    Disculpen las molestias por este asuntillo final.

  • #34016

    guardafaro
    Participante

    Mno4K, a tu petición: “[i]Eso sí, cuando lo termines, postea un link, porque ya me agarro intriga[/i]” te dejo los enlaces a dos imágenes correspondientes a dos capturas de pantallas del theme en desarrollo, para el que he realizado la consulta de este hilo.
    La primera es la página principal del theme, con el primer post destacado, el segundo normal y el tercero y cuarto post pareados (por llamarlos de alguna manera). http://i369.photobucket.com/albums/oo131/guardafaro/img_gf_03/1-minimocat-homepage.png
    La segunda corresponde a la vista de las entrada siguientes, con los posts normales (en este caso limitado a dos). http://i369.photobucket.com/albums/oo131/guardafaro/img_gf_03/2-minimocat-siguiete-2.png
    Intento sacar un theme sencillo y limpio en su apariencia, con cierta tendencia minimalista, que ocupe pocas pantallas verticales, una o a lo sumo dos; un estilo intermedio entre una revista y los blog tradicionales. Estas capturas son “lienzo en blanco”, para colorear al gusto de cada cual… o dejarlo así. Pero, como te he dicho, dista de estar terminado.
    Una segunda versión presentara en el homepage, debajo de los dos post pareados, un espacio fijo para colocar vídeos. Es la que utilizaré pare renovar mi plantilla 3Cool Blue (que ya pasó los tres años en uso en uno de mis blogs temáticos). http://entre-perros-y-gatos-es claro que ajustandole los colores y otros detalles para asimilarla a la plantlla actualmente en uso. Me gustan esos azules y los efectos [i]hover [/i]de los sidebars.
    Espero haber satisfecho tu natural curiosidad.
    Un saludo.

  • #34024

    imported_Mno4K
    Participante

    Te está quedando muy bien, guardafaro! Gracias por satisfacer mi curiosidad 😛

    Te felicito por el theme, y nos vemos por estos pagos!

El foro ‘Themes y Diseño’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest