• DjBlack CapsulaMusic

    (@djblack-capsulamusic)


    Gente la pregunta es más que concreta, aquí les expongo un ejemplo de lo que quiero hacer:
    http://www.cubadebate.cu/
    En esta página, por supuesto el Theme es Arthemia, cómo puedo hacer para ocultar o no mostrar una Categoría X en el Index de mi sitio web sin mediación de Plugins, o sea a base de código, tan sólo se que la llamada de las categoría se hace mediación de éste código y lo que quiero es modificar para que no me muestre o aculte la categoría Noticia que es la primera por ejemplo?
    <h3 class="cat_title"> <?php the_category(', '); ?> &raquo;</h3>

Viendo 15 respuestas - de la 1 a la 15 (de un total de 18)
  • En el archivo function.php de tu theme pones la siguiente función

    function show_categories_except( $excludedcats = array() ){
    
        $count      = 0;
        $categories = get_the_category();
    
        foreach( $categories as $category ) {
            $count++;
            if ( ! in_array( $category->cat_ID, $excludedcats ) ) {
                echo '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "Categoría: %s" ), $category->name ) . '" ' . '>' . $category->name . '</a>';
                if( $count != count( $categories )-1 ){
                    echo ", ";
                }
            }
        }
    }

    Y donde muestras las categorías colocas (Por ejemplo, para mostrar todas las categorías excepto la 1,3,8 y 11)

    <?php show_categories_except( array( 1, 3, 8 , 11 ) ); ?>

    Espero que el código te sirva.
    Saludos!

    Iniciador del debate DjBlack CapsulaMusic

    (@djblack-capsulamusic)

    Excelente respuesta Palitux, pero, sólo me queda un detalle en esta misma respuesta y es la siguiente, ¿cómo puedo eliminar la coma que me queda cuando se queda tan solo una categoría, o sea, cuando hay 2s categorias o mas la coma sale normal separando las 2s categorías, pero cuando el código que me diste oculta una y se muestra la otra la coma sale quedando así:

    Política, »

    cómo se puede eliminar dicha coma cuando sólo me muestra una categoría en caso de que halla marcado a la noticia 2s categorías, la que oculta y la que muestra?

    en la funcion show_categories_except cambia la línea

    if( $count != count( $categories )-1 ){

    por

    if( $count != count( $categories ) ){

    …fue un error por copiar y pegar el código (a veces por ahorrar trabajo terminamos cometiendo errores jaja)

    Iniciador del debate DjBlack CapsulaMusic

    (@djblack-capsulamusic)

    Palitux sigue existiendo el mismo problema, ya se solucionó con el ejemplo anterior pero ahora predomina con las categorias que al parecer están primero alfabeticamente que la llamada «Noticias». Pero bueno ya con esto es un avance antes no sabía hacer esto, ahora ya lo he conseguido y gracias a ti. Saludos de Cuba.

    Iniciador del debate DjBlack CapsulaMusic

    (@djblack-capsulamusic)

    Palitux, después de erradicar todo estos detalles me di cuenta que la categoría Noticias me sale en cualquier lugar cuando existen una o más categorías, cómo puedo hacer para que ésta siempre me salga de primera y después la otras, o sea mostrarlas por orden de creación?

    Moderador almendron

    (@almendron)

    Tal vez deberías considerar el uso de <?php wp_list_categories( $args ); ?>
    https://codex.wordpress.org/Function_Reference/wp_list_categories

    Iniciador del debate DjBlack CapsulaMusic

    (@djblack-capsulamusic)

    sip, he tratado pero no logro dar pié con bola con éste aspecto a la hora de adecuarlo a mis necesidades, o sea lo configuro y me sale ahora todas las categorías y sólo quiero que me salgan las que le asigné al post solamente?

    Moderador almendron

    (@almendron)

    No entiendo nada: ¿qué sentido tiene asignar varias categorías a un post y luego no querer mostrar todas? Lo siento, pero me he perdido.

    En cualquier caso y si eso es lo que quieres:
    https://codex.wordpress.org/Function_Reference/wp_get_object_terms
    Su segundo argumento ($taxonomies) puede hacer referencia a categorías.

    Iniciador del debate DjBlack CapsulaMusic

    (@djblack-capsulamusic)

    Hum, creo que has entendido mal, me mal interpretaste. Mejor te lo simplifico; Cómo modifico éste código para que me muestre las categorias por orden de ID?

    function show_categories_except( $excludedcats = array() ){
    
        $count      = 0;
        $categories = get_the_category();
    
        foreach( $categories as $category ) {
            $count++;
            if ( ! in_array( $category->cat_ID, $excludedcats ) ) {
                echo '<a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "Categoría: %s" ), $category->name ) . '" ' . '>' . $category->name . '</a>';
                if( $count != count( $categories )-1 ){
                    echo ", ";
                }
            }
        }
    }

    Moderador almendron

    (@almendron)

    Prueba poniendo

    $categories = get_the_category_by_ID();

    Iniciador del debate DjBlack CapsulaMusic

    (@djblack-capsulamusic)

    Nada, me da un error UNDEFINED?

    Moderador almendron

    (@almendron)

    Nada, que me he confundido. Lo que te puse devuelve el nombre de una categoría a partir de un ID concreto.
    A ver si me aclaro: tú quieres mostrar las categorías asociadas a un post y que estén ordenadas por ID. Además, quieres que una de ellas no aparezca.
    ¿Es así?

    Iniciador del debate DjBlack CapsulaMusic

    (@djblack-capsulamusic)

    Correcto, realmente es lo que quiero. Al fimn entendiste mi situación.

    Moderador almendron

    (@almendron)

    La que no quieres que aparezca: ¿es siempre la misma o cambia?

    Iniciador del debate DjBlack CapsulaMusic

    (@djblack-capsulamusic)

    Bueno la que no quiero que aparezca casi siempre es la misma pero en apartados cambia!

Viendo 15 respuestas - de la 1 a la 15 (de un total de 18)
  • El debate ‘Cómo ocultar o no mostrar una Categoría en Index, Archive u Autor’ está cerrado a nuevas respuestas.