Ayuda con categorías hijo…

Inicio Foros WordPress Programación Ayuda con categorías hijo…

Este debate contiene 23 respuestas, tiene 5 mensajes y lo actualizó  aisa hace 7 años, 7 meses.

  • Autor
    Publicaciones
  • #20948

    imported_fliberty
    Participante

    <p>Hola estoy desarrollando un theme para un directorio; la estructura que se va a manejar es como sigue:</p>
    <p>1. En portada se mostrará el listado de categorías del directorio, cada una de ellas debe estar enlazada a la categoría en si.</p>
    <p>2. Cuando se acceda a la categoría, deberá mostrarse la lista de sub categorías que contiene (no los artículos o contenido de cada una de ellas).</p>
    <p>3. Si una categoría solo tiene un contenido se accederá a el; lo mismo debe suceder con las sub categorías (ya fernando publico algo al respecto, aquí no hay problema).</p>
    <p>La ayuda que necesito es en el punto 2, como mostrar únicamente la lista de sub categorías de una categoría en si.</p>
    <p>Lógicamente que cuando sólo exista un artículo en solo una de estas sub categorías al acceder a la categoría principal se abrirá el contenido de ese artículo (ya no mostrará la lista de sub categorías), pero mientras haya más de un artículo, puede ser solo en una sub categoría o en sub categorías diferentes, se muestre la lista de sub categorías.</p>
    <p>Espero que me puedan ayudar.<br />
    Muchas gracias.
    </p>

  • #51465

    almendron
    Participante

    Creo que get categories podría funcionar

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

  • #51466

    Hola

    Es algo así???

    Este código lista las sub-categorías, con el ‘hide_empty=0’ muestra incluso las categorías vacías.

    Espero le esto le ayude.

  • #51467

    imported_fliberty
    Participante

    Como obtendría el ID de la categoría padre?…

  • #51470

    Pedro Raul
    Participante

    la categoría padre se obtiene, en al momento de hacer click sobre la categoria, paso 1

    un código mas resumido al propuesto.

  • #51471

    imported_fliberty
    Participante

    Bueno al incio de la función anterior me indican esto:
    $id = 123456

    Y bueno supuestamente 123456 es el ID de la categoría, lo que quería saber era como reemplazo eso para que tome la categoría actual; como verás Pedro yo no se mucho de programación.

    PD. Hoy estoy yendo a Lima, posiblemente nos podamos encontrar, Salu2.

  • #51472

    Pedro Raul
    Participante

    disculpa, mi anterior repsuesta esta errada.

    puedes obtener el id


    haber prueba con esto.

    Soy de Arequipa no de Lima.

  • #51473

    imported_fliberty
    Participante

    Ok Pedro, muchas gracias voy a checar el código y perdón por la equivocación, yo soy de Cajamarca.

  • #51474

    Pedro Raul
    Participante

    Un gusto. hubiese sido una oportunidad para dejar de lado el monitor.

  • #51475

    imported_fliberty
    Participante

    Que se va a hacer amigo, en otra ocasión tal vez podamos coincidir.

    PD. Como supongo que con lo que me han orientado funcionará lo que deseo realizar, doy por concluido el post… Si sucediera algo, ya estaré comentando nuevamente.

    Por cierto, las subcategorías no las quiero mostrar en lista, si no en bloques, cada una tendrá una imagen o algo así, pienso que eso va a complicar las cosas, en todo caso tendría que hacer una plantilla personalizada x cada una.

  • #51480

    Pedro Raul
    Participante

    a cada li puede darle un stilo

    mira esto lo arme con una lista, cada servicio es un li

    http://www.ozoneekiz.net/servicios.php

  • #51487

    imported_fliberty
    Participante

    Claro, habría que evaluar darle formato a cada uno con CSS, teniendo en cuenta que cada sub categoría será una imagen única y estará enlazada a esa sub categoría.

  • #51496

    aisa
    Participante

    Perdonad, pero a mi tambien me interesa

    Donde se situaria el codigo, en el archive.php o se deberia crear algun archivo nuevo en el theme. Si fuera en el archive, se haria con is_category? En caso afirmativo, como diferencia que es padre o hija, para o mostrar subcategorias o articulos?

    Muchas gracias

  • #51500

    imported_fliberty
    Participante

    Hola, en el código que ofrece Pedro se muestra con claridad, donde dice: child_of=$catid ahi te indica que mostrará las categorías hijo o subcategorías de la categoría padre, cuyo id es lo extrae la función previa.

    El código lo puedes colocar en sidebar, o donde mejor se te ocurra.

  • #51534

    imported_fliberty
    Participante

    Pedro, disculpa las molestias, pero como se podría utilizar en una plantilla personalizada de una categoría en particular?.

    La estoy utilizando de esta forma:


    En el código que me brindaste olvidaste un ) y el ; al final, pero utilizandolo de esta forma me sale el mensaje “No hay categorías”; esto utilizando en una página personalizada.

    Y si modifico la función al final,


    Es decir, colocando $catid así: ‘.$catid .’ me lista todas las categorías.

  • #51539

    imported_fliberty
    Participante

    Estuve haciendo pruebas para poder obtener automáticamente el ID de la categoría actual para poder mostrar las sub categorías, y bueno este es el resultado de pruebas y errores:

    Espero que me indiquen si hay algún problema por como lo he implementado, pero lo que si, hasta el momento es lo que me sirve.

  • #51540

    almendron
    Participante

    Una duda que tengo respecto al código que acabas de poner. Si ya te encuentras en una página que muestra una categoría determinada, solo tienes un id y, por tanto, el foreach sobraría. Por otra parte, get the category se utiliza para obtener el ID de las categorías asociadas a un post concreto.

    Creo que podrías utilizar lo siguiente:

    <?php
    $current_category = single_cat_title("", false);
    $category_id = get_cat_ID($current_category);
    ?>

    Ahora ya tienes la ID de la categoría. Ya solo queda mostrar las categorías hijas:

    <ul>
    <?php wp_list_categories('orderby=id&show_count=1&use_desc_for_title=0&child_of=8'); ?>
    </ul>

    Esto es solo un ejemplo. Sustituye los argumentos de wp list categories por los que tú consideres apropiados, incluyendo cambiar el 8 de child_of=8 por la $category_id.

  • #51542

    imported_fliberty
    Participante

    Utilizar el foreach fue lo último que se me ocurrió, ya que estuve probando y reprobando otros tipos de código, inclusive lo que me propusieron y no funcionó.

    Acabo de probar el código que propones y lo que me arroja es: “No hay categorías”

    Hay que tener en cuenta que esta lista de sub categorías no se muestra en el single, si no en una página personalizada que muestra post de una categoría en específico.

  • #51543

    almendron
    Participante

    En cualquier caso, si te funciona el código que usas pues listo. La semana que viene intentaré sacar tiempo para probar mi idea. Ya te diré algo si es positivo el resultado.

    Un saludo.

  • #51544

    imported_fliberty
    Participante

    Ok almendron, muchas gracias por el interes, puedes ver el funcionamiento del código en mi página: http://www.pachakamaq.com/peliculas

  • #51545

    imported_fliberty
    Participante

    Si bien es cierto he logrado realizar lo que deseaba, se me ha ocurrido lo siguiente:

    Implementar un slider según la página donde nos encontremos, a excepción de la paginación.

    Es decir, por ejemplo si accedo a la categoría “telenovelas” se muestre el slider con los post de dicha categoría, y así sucesivamente.

    A esto se me ocurrió utilizar una función parecida, y en el query del loop utilizado en el slider/carrusel, e imprimir el ID de la categoria padre.

    Espero sus opiniones, muchas gracias.

  • #51668

    aisa
    Participante

    Estoy intentando realizar lo que aqui se ha expuesto y no se como hacer que haga una cosa y otra dependiendo de si es categoria padre o hijo.

    De momento he conseguido que me muestra las categorias hijo de una categoria padre de esta forma:

    Ahora bien si entro en una categoria hijo de estas que me muestra, me dice que no hay categorias hijo de esa hijo. Esto esta bien.

    Lo que quiero entonces es que si es una categoria hijo, me muestre los articulos de esa categoria hijo (no tengo mas de 1 en depth). Como la funcion is_child no existe no, no se como hacerlo

    Me podeis ayudar?

    Gracias

  • #51683

    almendron
    Participante

    Aisa: no entiendo muy bien cuál es el problema.

    1) wp_list_categories no devuelve posts sino una lista de categorías con su correspondiente enlace.

    2) Depth sirve para mostrar los niveles. Nivel 1: categorías; Nivel 2: categorías – subcategorías; Nivel 3: categorías – subcategorías – sub sub categorías.

    3) Los posts deben aparecer al hacer clic en una de las categorías y mostrarse en una página distinta.

  • #51691

    aisa
    Participante

    Gracias por la respuesta.

    Si la verdad es que no me he explicado bien. Veamos lo que quiero hacer es que en la parte superior de la pagina salgan solo las categorias padre.

    Al clickar cualquiera de ellas, quiero que en una nueva pagina me salgan las categorias hijo con su descripcion y si puede ser, los tags que le pertenecen (todos los tags de articulos que esten dentro de esa categoria hijo).

    Despues al clickar en cualquier categoria hijo me salgan los articulos que estan dentro de esa categoria con su extracto.

    Y por ultimo al clickar en esos articulos pues ver el articulo en cuestion

    Tenemos un ejemplo exacto de lo que quiero hacer en gestiopolis.com, donde arriba vemos las categoria padre y al darle click a una de ellas nos muestra las categoria hijo con sus tags (almenos eso creo)

    [u]¿Donde tengo el problema?[/u]

    Mostrar las categorias en la parte superior no tengo problemas
    Que al darle click me salgan las categorias hijo tampoco tengo problema

    El problema basicamente es cuando le doy click a esas categorias hijo. Con el codigo que tengo hasta ahora lo que me hace es mostrarme que no hay categorias hijo de esa hijo, porque no se darle un “if”. Con el is_category se si es o no categoria, pero no encuentro la manera de decirle “si es categoria hijo, me muestras los articulos”. En resumen que no hay una funcion is_category_child.

    Espero a ver sido mas claro

    Un saludo y gracias de antemano

El foro ‘Programación’ está cerrado y no se permiten nuevos debates ni respuestas.

Pin It on Pinterest

Ir al contenido