在菜单上显示功能结果

时间:2015-05-31 16:20:05

标签: php wordpress

我想知道是否可以在WordPress的主菜单上显示从函数返回的值?我想我可以使用自定义链接在菜单上显示文字。现在我想调用一个函数来计算在线用户数并在菜单上显示结果。

chinesepod.com之类的东西

以下是计算用户数量的代码: -

function ray_number_online_users() {
     $i = 0;

     if ( bp_has_members( ‘user_id=0&type=online&per_page=999&populate_extras=0′ ) ) :

       while ( bp_members() ) : bp_the_member();
           $i++;

       endwhile;   

     endif;

    return $i;
 }`

1 个答案:

答案 0 :(得分:1)

定位菜单上单个链接的最简单方法是给它一个class(在这种情况下是用户编号)。

主题位置由register_nav_menus函数

定义
register_nav_menus( array(
        'primary' => __( 'Primary Menu',      'twentyfifteen' ),
        'social'  => __( 'Social Links Menu', 'twentyfifteen' ),
    ) );

此处我定位primary菜单位置,但我也可以定位social菜单。

function so30559666_nav_description( $item_output, $item, $depth, $args ) {
    if ( 'primary' == $args->theme_location && in_array("user-number", $item->classes)) {
        $count = ray_number_online_users();
        $item_output = str_replace( $args->link_after . '</a>', '<div class="menu-user-count">' . $count . '</div>' . $args->link_after . '</a>', $item_output );
    }

    return $item_output;
}
add_filter( 'walker_nav_menu_start_el', 'so30559666_nav_description', 10, 4 );