The problem with randomizing posts
-
Hello. I am working on a project for my client This listing website uses WordPress, Elementor, Essential Addons for Elementor - Pro With Essential Addons for Elementor - Pro, similar pages are displayed on pages using post grid (pages have categories), and similar pages are displayed on listing pages using Essential Addons for Elementor - Pro and "Posts Carousel" and "Post Block". The problem is that Posts Carousel, Post Block, Post grid display the same pages, but randomize only their order. I need the Posts Carousel, Post Block, Post grid widgets on Elementor pages to display randomized posts with a similar category as the current post (page or listing). When the page refreshes, this list should change. I came up with a way to double randomize. If I need to display 4 posts in a Post grid on an elementor page, first, 10 pages with the same category as the current page are randomly selected. After that, 4 pages are randomly selected from them. Here is the code for this function random_related_pages() { global $post; // Get the current page categories $current_page_categories = wp_get_post_terms($post->ID, 'category', array("fields" => "ids")); // Create a query $args = array( 'post_type' => 'page', 'tax_query' => array( array( 'taxonomy' => 'category', 'terms' => $current_page_categories, ), ), 'posts_per_page' => 10, // first, get 10 random pages 'orderby' => 'rand', ); $random_pages_query = new WP_Query($args); $output = ''; if ($random_pages_query->have_posts()) { // Get all 10 pages in an array $all_pages = array(); while ($random_pages_query->have_posts()) { $random_pages_query->the_post(); $all_pages[] = ' ' . get_the_title() . ' '; } // Randomly pick 4 from the array $picked_pages = array_rand($all_pages, 4); // Output the picked pages foreach ($picked_pages as $index) { $output .= $all_pages[$index]; } } else { // No pages found } wp_reset_postdata(); return $output; } add_shortcode('random_related_pages', 'random_related_pages'); but I need it to change the list of posts for the Posts Carousel, Post Block, Post grid from the Essential Addons for Elementor plugin (these widgets already have a certain design). What can I do? How can I set up a real randomization for these blocks?The page I need help with: [log in to see the link]
Viewing 1 replies (of 1 total)
Viewing 1 replies (of 1 total)
The topic ‘The problem with randomizing posts’ is closed to new replies.