Cómo hacer para que un efecto aplicado a una categoría afecte a sus entradas…

Inicio Foros WordPress Programación Cómo hacer para que un efecto aplicado a una categoría afecte a sus entradas…

Este debate contiene 9 respuestas, tiene 4 mensajes y lo actualizó  imported_fliberty hace 8 años, 3 meses.

  • Autor
    Publicaciones
  • #18334

    imported_fliberty
    Participante

    <p>Hola, hace algún tiempo que no publicaba buscando ayuda, pero ahora la necesito como una duda o solución a algo imaginado, pero no se si será posible hacerlo realidad.</p>
    <p>El hecho parte de lo siguiente:</p>
    <p>En mi web (pachakamaq), actualmente estoy mostrando un reproductor de música, y he dado forma a una función para que se muestre un reproductor diferente según la categoría en la que se está navegando, aunque actualmente sólo lo estoy aplicando en tres categorías, con tres playlist diferentes y todas las demás categorías, páginas, etc que no cumplan lo requerido, muestre un reproductor específico para todas ellas, el código que estoy utilizando es el siguiente:</p>
    <p>

    </p>
    <p>Las categorías de mi página que actualmente utilizan un reproductor diferente son: death note, naruto shippuden y más sabe el diablo, como se darán cuenta por el código; a las que se puede acceder desde el menu superior.</p>
    <p>Lo que yo deseo hacer es que este cambio afecte también a las entradas que corresponden a estas categorías, es decir que cuando acceda a una entrada de la categoría "death note", se reprodusca el reproductor de esa categoría y no el reproducto principal, cuando acceda a una entrada de la categoría "naruto shippuden" de igual manera se reprodusca el reproductor de esa categoría y así sucesivamente con las demás categorías; como dije, no se si será posible realizar esto, pero les agradecería sus comentarios y ayuda. Muchas gracias…
    </p>

  • #44629

    imported_fliberty
    Participante

    Bueno, si nadie sabe como hacer esto, alguien me puede decir si existe alguna función que me indique a que categoría pertenece la entrada que se está viendo actualmente; he leído alguna vez, unos temas donde se habla de aplicar ciertos formatos a entradas de categorías específicas, si alguien sabe de esto, posiblemente pueda lograr hacer lo que deseo…

  • #44632

    hugorg2010
    Participante

    una consulta fliberty…queres aplicar este estilo ( css ) al archivo single.php ?? o tal vez interprete mal la consulta…

  • #44633

    x03po
    Participante

    Para saber a que categoria pertenee un post: get_the_category()

  • #44638

    imported_fliberty
    Participante

    x03po, y como lo aplicaría en este supuesto caso, si quiero por ejemplo ejecutar la siguiente condicional: que si el post “x” pertenece a la categoría “a” aplíquese formato “1”, pero si el post “x” pertenece a la categoría “b” aplíquese formato “2” pero si el post “x” no pertenece a ninguna de las categorías específicadas, aplíquese formato “3”.

    No se si estoy en lo correcto, pero si la función que me indicas es la correcta, entonces podría hacer lo siguiente:

    Espero me puedan corregir y/o añadir o quitar lo que falte o sobre…

    Muchas gracias…

  • #44645

    Alberton
    Participante

    fliberty, yo de PHP no entiendo mucho, pero algo de C he estudiado y creo que si utilizas un SWITCH con unos CASE y el DEFAULT para los posts normales te quedaría más limpio y ordenado. ;D

  • #44648

    imported_fliberty
    Participante

    La verdad no entendí nada de lo último, php se lo que voy aprendiendo por experiencia, jejejeje… voy a ver que encuentro, muchas gracias…

  • #44649

    x03po
    Participante

    x03po, y como lo aplicaría en este supuesto caso, si quiero por ejemplo ejecutar la siguiente condicional: que si el post “x” pertenece a la categoría “a” aplíquese formato “1”, pero si el post “x” pertenece a la categoría “b” aplíquese formato “2” pero si el post “x” no pertenece a ninguna de las categorías específicadas, aplíquese formato “3”.
    No se si estoy en lo correcto, pero si la función que me indicas es la correcta, entonces podría hacer lo siguiente:


    Espero me puedan corregir y/o añadir o quitar lo que falte o sobre…
    Muchas gracias…

    La funcion is get_the_category() retorna un array (un post puede pertenecer a varias categorias a la vez), por lo que no creo que funcione con este if. Para esto te aconsejo la funcion is_category(3), que sí retorna un TRUE o FALSE.

    El problema de tu if es si un post pertenece a la categoria a y a la b. Solo se ejecutara la primera.

  • #44650

    imported_fliberty
    Participante

    Que tal x03po, muchas gracias por tu respuesta, la verdad es que este código lo estoy orientando a entradas que pertenecen a una sola categoría y no más, en la página donde se listan las categorías el efecto deseado ya está aplicado, pero lo que yo quiero es que este efecto también afecte a las entradas de esas categorías, por lo que este código iría en el single.php y tendría que determinar la categoría a la que pertenece el post actual.

  • #44947

    imported_fliberty
    Participante

    Hola, me animé a realizar la modificación al código para que el reproductor aplicado a una categoría específica se muestre también en las entradas que correspondan a la categoría a la cual pertenece.
    Aplicando la función de la siguiente forma:
    <?php if(is_home()){ include(‘radio.html’); } elseif (get_the_category(‘naruto-sennin-shippuden’)){ include(‘naruto.html’); } elseif (get_the_category(‘death-note’)) { include(‘death-note.html’); } elseif (get_the_category(‘mas-sabe-el-diablo’)) { include(‘mas-sabe-el-diablo.html’); } else {include(‘radio.html’);} ?>

    Al ingresar a la categoría “naruto shippuden”, se reproduce el reproductor correspondiente, incluso cuando ingreso a una de sus entradas, pero si ingreso a la categoría death-note ó, más sabe el diablo, se sigue reproduciendo el reproductor de naruto shippuden, y no los reproductores asignados a esas categorías.

    ===
    editado

    Buscando en el codex, me encontré con una función que hace referencia a in_category() que es aplicable a las entradas, y aplicandola a la función anterior de este modo:

    <?php if(is_home()){ include(‘radio.html’); } elseif (is_category(‘naruto-sennin-shippuden’)){ include(‘naruto.html’); } elseif (is_category(‘death-note’)) { include(‘death-note.html’); } elseif (is_category(‘mas-sabe-el-diablo’)) { include(‘mas-sabe-el-diablo.html’); } elseif (in_category(‘naruto-sennin-shippuden’)){ include(‘naruto.html’); } elseif (in_category(‘death-note’)) { include(‘death-note.html’); } elseif (in_category(‘mas-sabe-el-diablo’)) { include(‘mas-sabe-el-diablo.html’); } else {include(‘radio.html’);} ?>

    He logrado realizar lo que deseaba, es decir cuando ingreso a un de las categorías anteriores se muestra su reproductor asignado y si ingreso a una entrada de una de esas categorías, de igual manera se muestra su reproductor.

    Por lo anterior, doy por solucionado este dilema… Muchas gracias a todos…

    Para muestra un botón: Ingresen a mi página http://www.pachakamaq.com a las categorías: naruto-shippuden, death-note y mas-sabe-el-diablo y/o a cualquiera de sus entradas y verán el resultado del código aplicado.

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

Pin It on Pinterest

Ir al contenido