Elementor muestra el mismo shortcode dos veces. Uno en el lugar donde se coloca el shortcode, el otro justo detrás del encabezado. El problema solo ocurre en el editor. En la página, se muestra normalmente. Por favor ayuda. ¿Cómo puedo arreglarlo?
function display_grid_func ( $atts ){ echo '<div class="post-grid">'; $args = array( 'post_type' => 'realizacje', 'post_status' => 'publish', 'posts_per_page' => 9, 'cat' => 5 ); $loop = new WP_Query($args); while ($loop->have_posts()) : $loop->the_post(); ?> <div class="post-tile home"> <a href="<?php the_permalink(); ?>"> <img src="<?php the_post_thumbnail_url('tile-foto'); ?>" /> </a> <a class="button-zobacz home" href="<?php the_permalink(); ?>">Zobacz →</a> </div> <?php endwhile; wp_reset_postdata();?><?php echo '</div>'; } add_shortcode('post_grid', 'display_grid_func');Lo que he intentado hasta ahora: -Cambié el tema -Apagué todos los complementos -Estaba buscando en google
Resolví el problema :) Usé ob_start(); y devuelve ob_get_clean();
function display_grid_func($atts) { ob_start(); echo '<div class="post-grid">'; $args = array( 'post_type' => 'realizacje', 'post_status' => 'publish', 'posts_per_page' => 9, 'cat' => 5 ); $loop = new WP_Query($args); while ($loop->have_posts()) : $loop->the_post(); ?> <div class="post-tile home"> <a href="<?php the_permalink(); ?>"> <img src="<?php the_post_thumbnail_url('tile-foto'); ?>" /> </a> <a class="button-zobacz home" href="<?php the_permalink(); ?>">Zobacz →</a> </div> <?php endwhile; wp_reset_postdata(); ?> <?php echo '</div>'; return ob_get_clean(); } add_shortcode('post_grid', 'display_grid_func');