| Server IP : 213.186.33.2 / Your IP : 216.73.216.39 Web Server : Apache System : Linux webm005.cluster102.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64 User : symetry ( 21728) PHP Version : 8.2.31 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/symetry/www/ARCHIVES/web/wp-content/themes/symetry-theme/ |
Upload File : |
<?php
// Images à la une
add_theme_support( 'post-thumbnails' );
// Enable support for Post Formats
add_theme_support( 'post-formats', array(
'aside', 'image', 'video', 'audio', 'quote', 'link', 'gallery',
) );
// Menus
function register_my_menus() {
register_nav_menus(
array(
'menu-principal' => __( 'Menu Principal' )
)
);
}
// Custom Post Types
add_action('init', 'my_custom_init');
function my_custom_init()
{
register_post_type('projets', array(
'label' => __('Projets'),
'singular_label' => __('Projet'),
'public' => true,
'show_ui' => true,
'capability_type' => 'post',
'hierarchical' => false,
'supports' => array('title', 'thumbnail'),
'has_archive' => true,
));
register_taxonomy( 'types', 'projets', array(
'hierarchical' => true,
'label' => 'Types de projets',
'query_var' => true,
'rewrite' => true,
));
}
add_action( 'init', 'register_my_menus' );
/**
* Enqueue scripts and styles.
*/
function my_scripts() {
wp_enqueue_style( '_s-style', get_stylesheet_uri() );
wp_register_script('jquery', "http" . ($_SERVER['SERVER_PORT'] == 443 ? "s" : "") . "://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js", false, null);
wp_enqueue_script('jquery');
wp_enqueue_script( 'menu', get_template_directory_uri() . '/js/menu.js', array(), '1', true );
}
add_action( 'wp_enqueue_scripts', 'my_scripts' );
// Remove core HTML width & height
function remove_img_attr ($html) {
return preg_replace('/(width|height)="\d+"\s/', "", $html);
}
add_filter( 'post_thumbnail_html', 'remove_img_attr' );
// Add new image sizes
if ( function_exists( 'add_image_size' ) ) {
add_image_size( 'grande-image', 850, 550, true );
add_image_size( 'image-carree-moyenne', 200, 200, true );
add_image_size( 'image-carree-petite', 100, 100, true );
add_image_size( 'image-rect-portrait-moyenne', 200, 280, true );
add_image_size( 'image-rect-paysage-moyenne', 280, 200, true );
add_image_size( 'image-profil', 380, 650, true ); // on vérifie que la fonction existe, puis on crée la nouvelle taille d'image. Le dernier paramètre à true indique qu'il faut rogner l'image pour qu'elle s'adapte aux dimensions
}
add_filter('image_size_names_choose', 'my_image_sizes'); // le filtre qui permet d'ajouter la nouvelle taille au gestionnaire de médias
function my_image_sizes($sizes) {
$addsizes = array(
"grande-image" => __( "Grande image de projet"),
"image-carree-moyenne" => __( "Image carrée moyenne"),
"image-carree-petite" => __( "Image carrée petite"),
"image-rect-portrait-moyenne" => __( "Image portrait moyenne"),
"image-rect-paysage-moyenne" => __( "Image paysage moyenne") // on indique ici le nom de la nouvelle image (défini dans add_image_size), et le texte qui doit apparaître pour la sélection
);
$newsizes = array_merge($sizes, $addsizes);
return $newsizes;
}
/* Ajout de la boite pour crédits dans la page Personnaliser */
function symetry_customize($wp_customize) {
$wp_customize->add_section( 'symetry_settings', array(
'title' => 'Crédits photos',
'priority' => 35,
) );
$wp_customize->add_setting( 'credits_footer', array(
'default' => 'Entrez ici les noms des photographes séparés par des virgules',
'capability' => 'edit_theme_options',
'type' => 'option',
'transport' => 'postMessage'
) );
$wp_customize->add_control( 'credits_footer_control', array(
'label' => 'Crédits photos pied de page',
'section' => 'symetry_settings',
'settings' => 'credits_footer',
) );
}
add_action( 'customize_register', 'symetry_customize' );
/* live preview de la page Personnaliser */
function symetry_customize_preview_js() {
wp_enqueue_script( 'symetry-customize', get_template_directory_uri() . '/js/theme-customizer.js', array( 'jquery', 'customize-preview' ), '20130301', true );
}
add_action( 'customize_preview_init', 'symetry_customize_preview_js' );
?>