WooCommerce:在主页上随机显示一些评论

WooCommerce:在主页上随机显示一些评论,第1张

WooCommerce:在主页上随机显示一些评论

使用评论时

WP_Comment_Query
评论不能随意排列
。因此,您需要使用专用的WordPress
WPDB
类来使用简单的轻量级SQL查询。

在下面的代码中,您可以更改样式和html结构以获得所需的输出。您还可以使用可用的短码参数 “ limit ” _(默认设置为 5
)设置_要以随机顺序显示的评论数:

add_shortpre('woo_reviews', 'get_random_woo_reviews');function get_random_woo_reviews( $atts ){    // Shortpre Attributes    $atts = shortpre_atts( array(        'limit' => '5', // <== Set to 5 reviews by default    ), $atts, 'woo_reviews' );    global $wpdb;    // The SQL random query on product reviews    $comments = $wpdb->get_results( $wpdb->prepare("        SELECt *        FROM  {$wpdb->prefix}comments c        INNER JOIN {$wpdb->prefix}posts p ON c.comment_post_ID = p.ID        WHERe c.comment_type = 'review' AND p.post_status = 'publish'        ORDER BY RAND() LIMIT %d    ", intval( esc_attr($atts['limit']) ) ) );    ob_start(); // Start buffering    ## CSS applied styles    ?>    <style>        ul.product-reviews, ul.product-reviews li { list-style: none; margin:0; padding:0; line-height: normal;}        ul.product-reviews li { display:block; max-width: 200px, padding: 10px; display:inline-block; vertical-align: text-top;}        ul.product-reviews li .title {font-size: 1.2em;}        ul.product-reviews li .content {max-width: 180px; font-size: 0.9em; margin-bottom: 6px;}        ul.product-reviews li .author, ul.product-reviews li .date  {display: block; font-size: 0.75em;}    </style>    <?php    ## HTML structure    ?>    <ul ><?php    foreach ( $comments as $comment ) {        ?>        <li> <h4 ><?php echo get_the_title( $comment->comment_post_ID ); ?></h4> <div ><?php echo $comment->comment_content; ?></div> <span ><?php printf( __("Posted By %s") . ' ', '<strong>' . $comment->comment_author . '</strong>' ); ?></span> <span ><?php printf( __("On %s"), '<strong>' . date_i18n( 'l jS of F Y', strtotime( $comment->comment_date) ) . '</strong>' ); ?></span>        </li>        <?php    }    ?></ul><?php    return ob_get_clean(); // Return the buffered output}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试和工作。

用法:

[woo_reviews]
或在php中:
echo do_shortpre( "[woo_reviews]" );



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4904785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存