我正在使用“收件箱状态”插件。我可以用它来显示未读的电子邮件。
<?php do_action( \'inbox_status_count\', \'inbox-unread\' ); ?>
我想在条件中使用此代码。如果不止一封,则仅显示电子邮件的数量。
if ( 0 < did_action( \'inbox_status_count\', \'inbox-unread\' ) )
echo "<span class=\'new badge\'>";
echo do_action( \'inbox_status_count\', \'inbox-unread\' );
echo "</span>";
为什么不工作?
最合适的回答,由SO网友:birgire 整理而成
请注意did_action
仅接受one 输入参数:操作挂钩的名称。
您的if
判决也不清楚。
我认为你不想使用did_action
在这里,它不会告诉你电子邮件的数量。
您可以尝试以下操作:
if ( $unread = do_shortcode( \'[input-unread]\' ) )
printf( "<span class=\'new badge\'>%s</span>", $unread );
或者跳过昂贵的
do_shortcode
直接使用快捷码回调进行解析:
if(
class_exists( \'IS_Inbox_Status\' )
&& $unread = IS_Inbox_Status::get_instance()->get_count( \'inbox-unread\' )
)
printf( "<span class=\'new badge\'>%s</span>", $unread );
请注意,这是未经测试的。