Respuestas de foro creadas

Viendo 8 respuestas - de la 1 a la 8 (de un total de 8)
  • Iniciador del debate BGH_

    (@bgh_)

    Bueno parece que di en el blanco esta vez, modificando el código de mi segundo post, con el siguiente código:

    <?php
    	global $post, $query_string, $SMTheme;
    	query_posts($query_string);
    	$i=1;
    	$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    $posts_per_page = 5;
    $offset = $posts_per_page * ($paged - 1) + 5;
    $args = array(
      'posts_per_page' => $posts_per_page,
      'paged' => $paged,
      'offset' => $offset,
    );
    	if (is_home()||is_front_page())
    	query_posts($args);
    	if (have_posts()) :  
    
    	if (!isset($_GET['ajaxpage'])) {?>
     <div class='articles'>
    	<?php }
    	while (have_posts()) : the_post();
    	?>

    En principio, funciona al 100%, hace lo que deseo (ocultar los primeros 5 posts en la 1era página), y al hacer clic en los artículos, estos se muestran correctamente.

    Habrá algún problema a futuro por usar dos instancias de query_posts? Alguna exigencia extra a la base de datos?

    De nuevo, pido disculpas por hacer posts seguidos, pero quería compartir mi solución. Si algún moderador considera unirlos, está todo bien :).

    Iniciador del debate BGH_

    (@bgh_)

    Intenté hacer agregar el código en single.php y en archive.php. No dio resultado.

    Ahora, probé con otro código en theloop.php:

    query_posts($query_string . ‘offset=5’);

    Esto es lo que funciona más cercanamente a lo que apunto, el problema es que las 2 primeras páginas de la portada son iguales, y recién en la tercera página sigue el patrón correcto. Ejemplo de cómo se ve:

    Página 1: 6,7,8,9,10.

    Página 2: 6,7,8,9,10.

    Página 3: 11,12,13,14,15

    Página 4: 16,17…

    Además cuando estoy en la página 2 y hago click en Anterior (en la navegación), me muestra la página 1 sin cambios, como si el código que agregara no existiera.

    Iniciador del debate BGH_

    (@bgh_)

    Hola Peter, gracias por responder!

    Te refieres al archivo single.php? El problema es que mi archivo single.php, relega toda la información de mi archivo theloop.php (al que cuyo código en el primer post pertenece, no así top.php, fue un error mío y no lo pude editar ese posts).

    Yo solo quiero que se comporte así en la portada, no en las entradas.

    Este es mi archivo single.php:

    <?php
    	global $SMTheme;
    	get_header(); 
    
    	get_template_part('theloop');
    
    	the_tags("<div class='tags'><span>".$SMTheme->_( 'tags' ).":&nbsp;&nbsp;</span>", ", ","</div>");
    
    	get_template_part('relatedposts');
    
    	comments_template();
    
    	get_template_part('navigation');
    
    	get_footer();
    ?>

    Saludos!

    Iniciador del debate BGH_

    (@bgh_)

    Perdón por el 3er post seguido, pero luego de varios intentos el código funciona bien solo en la portada, no así en las entradas ya que en la entrada se ve como si fuera una lista de entradas similar a la de la portada. Por lo que no funciona adecuadamente.

    Alguna otra solución?

    Iniciador del debate BGH_

    (@bgh_)

    Lo solucioné yo mismo! Cambié el código del primer post, por el siguiente:

    <?php
    	global $post, $query_string, $SMTheme;
    	query_posts($query_string);
    	$i=1;
    	$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    	$offset = $posts_per_page * ($paged - 1) + 5;
    	$args = array(
    	'paged' => $paged,
    	'offset' => $offset,
    );
    query_posts($args);
    	if (have_posts()) :  
    
    	if (!isset($_GET['ajaxpage'])) {?>
     <div class='articles'>
    	<?php }
    	while (have_posts()) : the_post();
    	?>

    Es decir, introducir el código añadido al original aquí, inmediatamente antes de if (have_posts()), respetando la estructura del código original.

    Espero que les sea útil.

    Saludos!

    Iniciador del debate BGH_

    (@bgh_)

    Edito: Creo que al parecer, el error era mío, ya que por no darme cuenta, ponía ver entrada cuando estaba escribiendo la publicación de prueba, y claro que iba a marcar error, si estaba en Borrador. Una vez publicado ahí si anduvo. Además creo que lo que hice anteriormente, ayudó que fue recargar los ajustes de permalink, y eso creo que también influyó. Voy a hacer algunas pruebas más para dar el tema por cerrado, y vuelvo a editar con los resultados.

    Muchas gracias por tu ayuda, Mariano, realmente me estaba devanando los sesos.

    Iniciador del debate BGH_

    (@bgh_)

    Ok estoy cerca de lograrlo. Esto es lo que tengo hasta el momento

    add_action( 'init', 'create_post_type' );
    function create_post_type() {
        register_post_type( 'banda',
            array(
                'labels' => array(
                    'name' => 'Contenidos',
                    'singular_name' => 'Contenidos',
                    'all_items' => 'Todas las entradas'
                ),
            'public' => true,
            'has_archive' => false,
            )
        );
    }
    
    function create_taxonomies() {
        register_taxonomy('categories', array('banda'), array(
            'labels' => array(
                'name' => 'Categorías'
            ),
            'show_ui' => true,
            'show_tagcloud' => false,
    		'hierarchical' => true,
            'rewrite' => array('slug' => 'banda/%categories%')
        ));
    }
    add_action('init', 'create_taxonomies');

    Agregué las categorías que mencioné en mi post anterior (Miembros, Discografia, etc).

    Y creé los archivos:

    • single-banda.php
    • taxonomy-categories.php

    Usando el plugin que me recomendaste, Mariano, agregué la siguiente estructura de permalink:

    /%categories%/%postname%/

    Hasta ahí todo normal, y ahora sí, el link queda como yo quiero, pero el problema surge cuando hay categorías y sub-categorías dentro de la taxonomía. Lo que quiero decir es si por ejemplo creo un post dentro de la categoría Discografía, me queda:

    http://www.example.com/banda/discografia/mi-post/ (el link queda correcto y se muestra bien)

    Pero si elijo crear una subcategoría Álbumes dentro de Discografía, y creo un post, queda así:

    http://www.example.com/banda/discografia/albumes/mi-post/ (el link queda correcto, pero el post da error 404).

    Al parecer es con sub-categorías el problema.

    ¿Qué es lo que estoy haciendo mal?

    Iniciador del debate BGH_

    (@bgh_)

    Gracias por tu respuesta, Mariano.

    Instalé el plugin y veo porqué me puede ser de utilidad, pero debo confesar que no sé bien como trabaja el sistema de taxonomías y post personalizados, aunque estuve leyendo varios tutoriales en inglés y español es poco lo que puedo dilucidar.

    Por lo que pude entender, lo que tendría que hacer es registrar las taxonomías, modificar un tanto la regla rewrite de las mismas (para darle la forma que busco a la url), y luego registrar el tipo de post personalizado o esto primero, y después realizar lo de las taxonomías.

    Esta es la estructura jerárquica que quiero lograr en mi sitio:

    -Banda
    –Integrantes
    –Discografia
    —-Álbumes
    —-DVD
    —-Compilados
    —-Singles
    —-Demos
    –Reviews
    –Videoclips
    –Giras

    Por poner un ejemplo para «Álbumes», la url quisiera que quede de la siguiente forma:

    http://www.example.com/banda/discografia/albumes/nombre-del-post-de-un-album/
    http://www.example.com/banda/discografia/albumes/nombre-del-post-de-otro-album/

    (Es decir, a lo último de la url, que quede el nombre del post)

    Mi duda entonces creo que sería en qué consisten los pasos lógicos para lograr este cometido, porque aun no me queda del todo claro como funciona esta cuestión :/.

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