1 回答
TA贡献1788条经验 获得超4个赞
您基本上就在那里,只是错过了正确位置的产品永久链接。
这里使用WP_Query:
// Get a random product (array with one value)
$random_product_id_array = get_posts( array(
'posts_per_page' => 1,
'post_type' => 'product',
'orderby' => 'rand',
'fields' => 'ids'
) );
// Get the first value from the array (the random product ID)
$random_product_id = reset($random_product_array);
// Output
echo '<a href="'.get_permalink($random_product_id).'"><img alt="mylink" src="https://www.mylink.com/images/promo-pic.png" class="img" width="150" height="70"></a>';
这次成功了。
或者您也可以使用WC_Product_query类似的替代:
// Get a random product (array with one value)
$random_product_id_array = wc_get_products( array(
'limit' => 1,
'orderby' => 'rand',
'return' => 'ids'
) );
// Get the first value from the array (the random product ID)
$random_product_id = reset($random_product_array);
// Output
echo '<a href="'.get_permalink($random_product_id).'"><img alt="mylink" src="https://www.mylink.com/images/promo-pic.png" class="img" width="150" height="70"></a>';
也以同样的方式工作。
另外:您可以将该代码嵌入到短代码中,例如(使用WC_Product_query):
add_shortcode('random_img_link', 'display_random_img_link');
function display_random_img_link() {
// Get a random product (array with one value)
$query = wc_get_products( array(
'limit' => 1,
'orderby' => 'rand',
'return' => 'ids'
) );
// Here define your image link
$image_src = 'https://www.mylink.com/images/promo-pic.png';
ob_start(); // Start buffering
echo '<a href="'.get_permalink(reset($query)).'"><img alt="mylink" src="'.$image_src.'" class="img" width="150" height="70"></a>';
return ob_get_clean(); // return buffered content
}
或者(使用WP_Query):
add_shortcode('random_img_link', 'display_random_img_link');
function display_random_img_link() {
// Get a random product (array with one value)
$query = get_posts( array(
'posts_per_page' => 1,
'post_type' => 'product',
'orderby' => 'rand',
'fields' => 'ids'
) );
// Here define your image link
$image_src = 'https://www.mylink.com/images/promo-pic.png';
ob_start(); // Start buffering
echo '<a href="'.get_permalink(reset($query)).'"><img alt="mylink" src="'.$image_src.'" class="img" width="150" height="70"></a>';
return ob_get_clean(); // return buffered content
}
代码位于活动子主题(或活动主题)的functions.php 文件中。经过测试并有效。
用法: [random_img_link]
- 1 回答
- 0 关注
- 142 浏览
添加回答
举报