2015-06-15 116 views
2

我需要WordPress的代码(Woocommerce)来显示随机产品链接显示随机产品链接

例如,我有产品1和要显示此页面上(在我的产品的描述):

“又见其他产品:产品2 - 链接]和[产品3 - 链接]”

不知道如何,我只需要php代码将其插入到post/pages/products和我想要的任何地方。

我不是一个编码器,我发现这个代码,例如,与链接以显示网页标题,但它不是我所需要

<?php 
echo '<a href="'.get_permalink($product_id).'">'.get_the_title($product_id).'</a>'; 
?> 

如何获得随机产品,不要”不知道,谢谢你的帮助。

+0

你应该在wordpress.stackexchange.com或wordpress foruns上搜索这个,也许在那里找到答案更容易。 – Cthulhu

回答

0

尝试这种情况:

$args = array(
    'posts_per_page' => 1, 
    'orderby'   => 'rand', 
    'post_type'  => 'product'); 

$random_products = get_posts($args); 
foreach ($random_products as $post) : setup_postdata($post); ?> 
     <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> 
<?php endforeach; 
wp_reset_postdata(); 
0

用于输出可以用下面的代码来实现单个随机产品完美的解决方案。

<?php 
$post_array=array(); 
    $args = array(
     'post_type' => 'product', 
     'posts_per_page' => 12 
     ); 
    $loop = new WP_Query($args); 
    if ($loop->have_posts()) { 
     while ($loop->have_posts()) : $loop->the_post(); 
      array_push($post_array,get_the_ID()); 
     endwhile; 
     $random_key = array_rand($post_array, 1); 
     echo '<a href="'.get_permalink($post_array[$random_key]).'">'.get_the_title($post_array[$random_key]).'</a>'; 
    } else { 
     echo __('No products found'); 
    } 
    wp_reset_postdata(); 
?> 

已经为您测试过了。有效。知道知道这是否也适用于你。

+0

很好用!非常感谢!但是当我重新加载页面时 - 产品发生了变化。这是一种无需更改即可显示随机产品的方法吗? – Merca

+0

这就是为什么它被称为随机。在每次访问页面时,都会生成并显示随机产品。如果我们保持它不变,它不会被称为随机。如果你仍然希望它被保留。您可以在用户会话中进行设置,以便每次会话的用户在整个会话中都有一个随机产品。我希望这消除你的怀疑。并解决您的请求 – WisdmLabs

+0

感谢您的帮助! – Merca