首页 > 解决方案 > 如何使 php 函数在 echo 中工作?

问题描述

我尝试在 PHP 回显中添加 HTML,它可以工作。

但是如果使用 PHP 函数,则回显不起作用,

原代码:

if( ! function_exists("rframework_cart_button") ){
    function rtframework_cart_button(){

        $show_cart = get_theme_mod( RT_THEMESLUG.'_top_shortcut_buttons_cart' ) ? true : false ;

        if( ! class_exists('Woocommerce') || ! $show_cart ){
            return;
        }

        global $woocommerce;

        echo '<li class="cart"><a href="#" class="cart-menu-button"><span class="icon-shopping-bag"><sub class="number empty">'. $woocommerce->cart->cart_contents_count .'</sub></span></a></li>'."\n";

    }
}

我想放在 echo 里面或后面的 PHP 代码是:

<?php $wishlist_count = YITH_WCWL()->count_products(); ?><span class=”your-counter-selector“&gt;<?php echo $wishlist_count; ?></span>

任何人都可以帮忙吗?

标签: phpecho

解决方案


使用 echo,您需要将 html 内容中的所有双引号更改为单引号,并在外部保留双引号。尝试这个:

  return "<li class='cart'><a href='#' class='cart-menu-button'><span class='icon-shopping-bag'><sub class='number empty'>{ $woocommerce->cart->cart_contents_count }</sub></span></a></li>'.'\n";

你的问题很令人困惑,但我根据你的评论得到了更新。

从另一个函数调用的函数中的 echo 只会在另一个函数结束之前将 echo 输出到您的页面,使用 return 而不是 echo 会将代码片段放置到另一个函数。这是首选方式。

如果在 html 中,<?php functionWithEcho() ?>或者 <?php echo functionWithReturn()

如果在php中,则正常调用函数


推荐阅读