carhop__carhop-theme__DEV/includes/utilities.php

101 lines
2.7 KiB
PHP

<?php
/**
* Fonctions utilitaires pour le calcul du temps de lecture
*/
function calculate_reading_time($content)
{
$content = strip_tags($content);
// Compter les mots (en français, on compte environ 200 mots par minute)
$word_count = str_word_count($content);
$reading_time = ceil($word_count / 200);
return $reading_time;
}
function test()
{
$tags = get_terms(array(
'taxonomy' => 'etiquettes',
'hide_empty' => false,
));
return $tags;
}
function get_archive_page_icon_html($post_type)
{
switch ($post_type) {
case 'analyses-etudes':
return '<img class="page_icon" src="' . get_template_directory_uri() . '/resources/img/icons/icon-analyses-etudes.svg" alt="Analyses et études" />';
case 'revues':
return '<img class="page_icon" src="' . get_stylesheet_directory_uri() . '/resources/img/icons/revues.svg" alt="Revues" />';
case 'expositions':
return '<img class="page_icon" src="' . get_template_directory_uri() . '/resources/img/icons/icon-expositions.svg" alt="Expositions" />';
case 'outils-pedagogiques':
return '<img class="page_icon" src="' . get_template_directory_uri() . '/resources/img/icons/icon-outils-pedagogiques.svg" alt="Outils pédagogiques" />';
case 'actualites':
return '<img class="page_icon" src="' . get_template_directory_uri() . '/resources/img/icons/icon-actualites.svg" alt="Actualités" />';
default:
return '';
}
}
function get_archive_page_subtitle_html($post_type)
{
switch ($post_type) {
case 'analyses-etudes':
return '<span class="page_subtitle">Accédez à nos recherches et publications thématiques.</span>';
case 'outils-pedagogiques':
return '<span class="page_subtitle">Des ressources pour apprendre et transmettre autrement.</span>';
case 'expositions':
return '<span class="page_subtitle">Découvrez nos expositions passées et actuelles.</span>';
case 'revues':
return '<span class="page_subtitle">Accédez à nos revues et publications</span> ';
default:
return '';
}
}
function handle_posts_numerotation_remapping($post_type)
{
if (!is_admin()) {
return;
}
$query = new WP_Query(array(
'post_type' => $post_type,
'posts_per_page' => -1,
'orderby' => 'date',
'order' => 'ASC',
));
$numerotation = 0;
while ($query->have_posts()) {
$query->the_post();
$numerotation++;
update_post_meta(get_the_ID(), 'post_numerotation', $numerotation);
}
}
function hasPostTypeNumerotation($post_type)
{
switch ($post_type) {
case 'analyses-etudes':
case 'expositions':
case 'outils-pedagogiques':
case 'recherches':
case 'revues':
return true;
default:
return false;
}
}