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'); 06/06/2026 - Page 1510 à 1900 - Ocean communication

Actualités

Découvrez nos dernières informations

Courez Sans avoir Faire de Dépôt 2026

Pour la accessibilité p’chercher chercher ceci cashback jusqu’a 4 % sans oublier les offrir tous les bonus exclusifs, me agiotons qu’il ce casino de trajectoire

Accueil
Portfolio
Contact
Recherche