Site logo

Archived topic

Problema con datos dinámicos

14 replies · Started by Pedro on July 15, 2022

Viewing posts 1–15 of 15

Hola,

He creado un elemento en donde uso la opción de datos dinámicos, para mostrar la categoría de la entrada.

A las entradas, generalmente agregamos más de 1 categoría.

Y este elemento me muestra todas esas categorías.

Así se ve: https://mega.nz/file/nhVzwbIK#m0aSwpiVhzJ94ldZdvtrgJlfW73_Kl9j2YzsPbx1PZQ

Pueden revisarlo aquí: https://alertacripto.com/mercado/la-criptomoneda-con-mejor-rendimiento/

Me gustaría que el elemento, solo muestre la categoría principal de la entrada.

¿Pueden ayudarme con esto?

¡Gracias!

Hi there,

how do you determine what is the Main Category ?

Hola David,

Es la primera categoría que siempre seleccionamos, y la colocamos como categoría primaria.

Además, es la que se mostrará en la URL.

Aquí un ejemplo: https://mega.nz/file/SgMHQJzI#3UTnnpN8XRJ5JLfDN6hVQ3Szz9qawfTJCLbqSD0Dgy4

Enlace de la entrada: https://alertacripto.com/bitcoin/coste-de-produccion-del-bitcoin/

Esa entrada, escogimos "Bitcoin" como categoría principal.

Y como secundaria escogimos "Noticias".

Entonces, la idea es que "Bitcoin" sea la única categoría que se muestre en el elemento que he creado.

Hola David,

Gracias por responder.

Sin embargo temo que esta solución no funciona.

Ya que al colocar el shortcode solo me coloca un texto.

Que no puedo colocar con enlace a la categoría ni puedo personalizar para que parezca una etiqueta (como lo tengo actualmente).

¿Podrías ayudarme a solucionar esto?

¡Gracias!

¿Es posible ocultar las demás categorías solo con CSS?

Hi Pedro,

You would need to modify the Rank Math Shortcode itself to display only one category, and make it a link. It can't be done through CSS.

Try replacing your current Shortcode PHP snippet with this:

function get_rank_math_primary_cat() {
    $yourTaxonomy = 'category';
    $category = get_the_terms( $postId, $yourTaxonomy );
    
    // In Rank Math Primary category is automatical arranged to first category in WP's list of assigned categories
    $category_display = $category[0]->name;
    $category_link = get_term_link( $category[0]->term_id );
    
    
    // Display category
    if ( !empty($category_display) && !empty($category_link) ){ 
        echo '<a href="' . $category_link . '" class="post-category">' . $category_display . '</a>'; //Replace 'echo' with 'return' for easier control inside templates
    }   
        
}
add_shortcode( 'rank-math-primary-category-shortcode', 'get_rank_math_primary_cat' );

This should only get the first category, and make the output a link as well.

Hope this helps!

Hola,

He reemplazado el código y ahora incluye el link.

El problema es, que al colocar el shortcode en el bloque, queda mal alineado.

Aquí una muestra de cómo queda: https://mega.nz/file/24FAjRZa#h-GuQDb8wr4hiFQJZOhYFbRZJppnNKrmzQmcO7k_n8I

Esto, a pesar que lo estoy colocando dentro del bloque del encabezado.

Donde ya están los otros elementos bien alineados.

Aquí la configuración: https://mega.nz/file/Ow1DxajT#afvfgJy6AZdl6THoIub-qJ4Yn2C21ZoAK5L7_f1Vk50

¿Pueden ayudarme con esto?

¡Gracias!

I see. We’ll need to see the shortcode active to access the issue. Perhaps you can start a staging site?

Or, maybe you can create a test post, and display the shortcode solely in that post.

Let us know.

Try adding object buffering to the shortcode like so:

function get_rank_math_primary_cat() {
    $yourTaxonomy = 'category';
    $category = get_the_terms( $postId, $yourTaxonomy );
    
    // In Rank Math Primary category is automatical arranged to first category in WP's list of assigned categories
    $category_display = $category[0]->name;
    $category_link = get_term_link( $category[0]->term_id );
    
    
    // Display category
    if ( !empty($category_display) && !empty($category_link) ){ 
        ob_start(); 
        echo '<a href="' . $category_link . '" class="post-category">' . $category_display . '</a>'; //Replace 'echo' with 'return' for easier control inside templates
        return ob_get_clean();
    }   
        
}
add_shortcode( 'rank-math-primary-category-shortcode', 'get_rank_math_primary_cat' );

Hola David,

Funcionó perfectamente, muchas gracias!

Glad we could be of help!

This archived topic is closed to new replies.