Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the rank-math domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/ocean-application.fr/site-ocean.ocean-application.fr/wp-includes/functions.php on line 6170

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wp-asset-clean-up domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/ocean-application.fr/site-ocean.ocean-application.fr/wp-includes/functions.php on line 6170

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the pods domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/ocean-application.fr/site-ocean.ocean-application.fr/wp-includes/functions.php on line 6170

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the essential-addons-for-elementor-lite domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/ocean-application.fr/site-ocean.ocean-application.fr/wp-includes/functions.php on line 6170

Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the rank-math-pro domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vhosts/ocean-application.fr/site-ocean.ocean-application.fr/wp-includes/functions.php on line 6170
8194460''), $atts); $total_portfolio_count = wp_count_posts('portfolio')->publish; $categories = get_terms(array( 'taxonomy' => 'category', 'hide_empty' => true, 'pad_counts' => true, )); if (!empty($atts['categories'])) { $categories_to_display = explode(',', $atts['categories']); } else { $categories_to_display = array_map(function($category) { return $category->name; }, $categories); } usort($categories, function($a, $b) use ($categories_to_display) { return compare_categories($a, $b, $categories_to_display); }); return get_portfolio_category_filter_shortcode_output($total_portfolio_count, $categories, $categories_to_display); } function get_portfolio_category_filter_shortcode_output($total_portfolio_count, $categories, $categories_to_display) { $output = ''; $output .= ''; $output .= '' . ucfirst(__('tous nos projets', 'your-text-domain')) . ' (' . $total_portfolio_count . ') '; $output .= get_category_filter_html($categories, $categories_to_display); $output .= ''; return $output; } function compare_categories($a, $b, $categories_to_display) { $a_index = array_search($a->name, $categories_to_display); $b_index = array_search($b->name, $categories_to_display); if ($a_index === false && $b_index === false) { return 0; } elseif ($a_index === false) { return 1; } elseif ($b_index === false) { return -1; } else { return $a_index - $b_index; } } function get_category_filter_html($categories, $categories_to_display) { $output = ''; foreach ($categories as $category) { $formatted_name = mb_convert_case($category->name, MB_CASE_TITLE, "UTF-8"); if(in_array($category->name, $categories_to_display) && $category->count > 0){ $output .= ' | ' . $formatted_name . ' (' . $category->count . ') '; } } return $output; } add_shortcode('portfolio_category_filter', 'display_portfolio_category_filter_shortcode'); 26/05/2026 - Page 1912 à 1989 - Ocean communication

Actualités

Découvrez nos dernières informations

Acabamento Beizebu realsbet on-line Gratuito

Content Realsbet on-line – Como diversidade faz briga RTP? EXPERIMENTE OS NOSSOS JOGOS Acimade Destaque Fortune Five – Aprestar 100% acostumado no ademane demopor Gamebeat

Football 1XSlot login Brasil Studio

Content 1XSlot login Brasil: Game Shows Populares da Evolution Onde jogar Football Studio? Informações do aparelhamento Apercebido Acimade arruíi Acabamento Football Studio Live Características como

Accueil
Portfolio
Contact
Recherche