问题在于以下几行:
$items_icon = get_template_part( \'templates/topbar\', \'rolecart\' );
$items_icon = get_template_part( \'templates/topbar\', \'roledashboard\' );
你期望的地方
get_template_part()
返回输出,但它不返回,因为它基本上是
require()
和
require_once()
呼叫。
这意味着模板部分不是返回的筛选器值的一部分。
我同意get_
前缀在这里很混乱!
拥有它会更有意义the_template_part()
相反;-)
这里有一些关于输出缓冲的黑客攻击。让我们使用wpse_return_
前缀it强调它returns 输出:
if( ! function_exists( \'wpse_return_template_part\' ) )
{
function wpse_return_template_part( $first = \'\', $second = \'\' )
{
ob_start();
get_template_part( $first, $second );
return ob_get_clean();
}
}
然后
if( function_exists( \'wpse_return_template_part\' ) )
$items_icon = wpse_return_template_part( \'templates/topbar\', \'rolecart\' );