How pass a 0 in $atts?

时间:2014-06-18 作者:Heiko Mamerow

我需要将属性(tabindex=“0”)传递到我的导航链接中。我使用此筛选器:

/**
 * Add tabindex attribute to menu links
 *
 * Brings keyboard accessibility for opera browser.
 */
add_filter( \'nav_menu_link_attributes\', \'atts_menu_tabindex\' );
function atts_menu_tabindex( $atts, $item, $args )
{
    $atts[\'tabindex\'] = 0;
    return $atts;
}
此过滤器适用于所有值,除非0 (零)。我能做什么,才能通过“0”?

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

这是因为WP使用empty():

if ( ! empty( $value ) )
…和empty()TRUE 对于以下值0"0".

您现在有两种选择:

过滤器walker_nav_menu_start_el 替换<a 具有<a tabindex=0.$atts[\'tabindex\'] = "0 "; 在原始函数中。请注意额外的空间。它绕过了empty 检查使用不同的浏览器进行测试

结束

相关推荐

错误:CALL_USER_FUNC_ARRAY()要求参数1是有效的回调

我在将wordpress升级到3.6版本后遇到了问题,请参阅下面显示在wordpress管理面板上而不是网站正面的错误。警告:call\\u user\\u func\\u array()要求参数1是有效的回调,未找到函数“regis\\u options”,或者wp includes/plugin中的函数名无效。php在线406警告:无法修改标题信息–标题已由wp includes/option中的(输出开始于wp includes/plugin.php:406)发送。php在线571警告:无法修改标题