如何在Sprint中添加类或范围标记?

时间:2019-08-08 作者:Kt H

我希望在sprintf中添加span标记或类

我想放大我面前数字的文本大小。因此,我只想将span标记或类添加到我面前的文本中。

我的代码是

            /**
             * Filters the product average rating.
             *
             * @since 1.10.0
             *
             * @param float $average_rating average rating
             * @param \\WC_Product $product the product object
             */
            $average_rating = max( 0, (float) apply_filters( \'wc_product_reviews_pro_product_rating_average\', $product->get_average_rating(), $product ) );

            $reviews_count  = max( 0, wc_product_reviews_pro_get_contributions_count( $product, \'review\' ) );

            /* translators: Placeholders: %s - average rating stars count (float casted as string to avoid trailing zeroes), %d - 5 stars total (integer) -- (e.g "4.2 / 5 stars") */
            $reviews_label  = sprintf( __( \'%s / %d\', \'woocommerce-product-reviews-pro\' ), $average_rating, 5 );

            ?>
            <h3><?php echo esc_html( $reviews_label ); ?></h3>

            <p><?php echo get_star_rating(); ?></p>
我尝试了很多方法。https://stackoverflow.com/questions/45312511/adding-class-to-element-in-php-code我已经多次引用了上述url

但是所有的结果都是这样打印的<span>4</span>/5.我不想把它印出来。

有好的解决方案吗?谢谢

1 个回复
最合适的回答,由SO网友:Makiomar 整理而成

实际使用esc_html 不会有帮助,因为它将转义任何html字符,因此您必须依赖wp_kses 因此,您可以指定接受的标记和属性,因此无需转义输出。但您必须避开DB中的值,在您的情况下$average_rating. 所以你可以这样。

$accepted_tags  = array(\'strong\'=>array());

$reviews_label  = wp_kses(
                        sprintf( 
                            __( \'%s / %d\', \'<strong>woocommerce-product-reviews-pro</strong>\' ), 
                            esc_html($average_rating), 
                            5 
                        ), 
                    $accepted_tags );

<h3><?php echo $reviews_label ; ?></h3>
更新

正如我从您的评论中看到的,您需要将标记添加到%s, 所以你只需要改变$accepted_tags 收件人:

$accepted_tags  = array(\'span\'=>array());
anf的sprintf 收件人:

sprintf( 
        __( \'<span>%s</span> / %d\', \'woocommerce-product-reviews-pro\' ), 
        esc_html($average_rating), 
        5 
    ),

相关推荐

Vagrant Access index.php

我相信这是一个合适的地方。首先,我安装了VirtualBox和Vagrant。在那之后,我将cd刻录到以下内容:https://github.com/LearnWebCode/vagrant-lamp (下载了zip,提取了文件夹)然后在运行vagrant up之后,我到达了Congratulations 通过IP分页http://192.168.56.101/之后,我在hosts文件中设置了一个易于阅读的URL,并可以运行它,但它会导致出现祝贺页面,而不是索引。php的Hello World。你知道怎么