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'); 08/06/2026 - Page 1469 à 1569 - Ocean communication

Actualités

Découvrez nos dernières informations

Indfri Gang Gaming Casinos June 2026

Content Betinia – stærk tv-udsendelse-profil Funk Bridge Evolve Casino Ofte stillede spørgsmål Fritids Baccarat Blues Hasard Mange bor ma bedste Forløb spillemaskiner i 2025 –

Accueil
Portfolio
Contact
Recherche