Passing variable from filter

时间:2013-07-09 作者:mIRU

我有这个过滤器:

function wpa_filter_nav_menu_objects( $items){
    global $count4footer;

    foreach( $items as $item ){

        $count = countPosts($item->ID);
        if($count!==false){
            $item->title = $item->title." ($count)";
            $count4footer[$item->ID]=$count;
        }
    }

    return $items;
}
add_filter( \'wp_nav_menu_objects\', \'wpa_filter_nav_menu_objects\' );
我需要将变量传递到页脚,但正在打印null, 我补充道global $count4footer; 功能,但没有效果
以后如何访问此值?

1 个回复
SO网友:Mike Madern

尝试定义$count4footer 外部功能wpa_filter_nav_menu_objects.

$count4footer = array( );

function wpa_filter_nav_menu_objects( $items){
    global $count4footer;

    foreach( $items as $item ){

        $count = countPosts($item->ID);
        if($count!==false){
            $item->title = $item->title." ($count)";
            $count4footer[$item->ID]=$count;
        }
    }

    return $items;
}

add_filter( \'wp_nav_menu_objects\', \'wpa_filter_nav_menu_objects\' );

结束

相关推荐

Apply_Filters()和_Excerpt提供了意外的结果

我觉得我一定错过了一些显而易见的东西,但我似乎无法让WordPress合作。我正在用一个函数生成Facebook OG标签。除了摘录,一切都很好。自get_the_excerpt($post->ID), 有没有其他方法可以创建摘录而不必创建一个全新的循环?我觉得这太过分了。我的第一反应是apply_filters():$description = apply_filters(\'the_excerpt\', get_post($post->ID)->post_content);