--------------------------------------------------------------------------------------------- -- Dans ce fichier, il y a les informations importantes. -- Il faut le lire avant de reprendre un dev sur Wordpress. --------------------------------------------------------------------------------------------- https://codex.wordpress.org/Creating_a_Static_Front_Page --------------------------------------------------------------------------------------------- Argument : customize_register - La variable customize_register sert à ajouter des options dans le menu de personnalisation du template → add_action( 'customize_register', 'twentyseventeen_dngimages_settings' ); Argument : sanitize_callback - En général cet argument appelle une fonction qui a assainir la donnée (ex : si on attend un chiffre, on va créer une fonction qui converti en chiffre) - c'est pourquoi dans functions.php on retrouve souvent à la suite des fonctions d'assainissement. - ex: 'sanitize_callback' => 'dng_sanitize_page_layout' => va faire appel à la fonction dng_sanitize_page_layout($input) {} Ajouter un style dans le head - Fonction : wp_enqueue_style( 'donny-fonts', $donny_fonts_url, array(), null ); - Arguments : donny-fonts : nom variable $donny_fonts_url : URL ou feuille de stype i.e: http://cdn.google.com/style.css Ajouter une sidebar - Fonction : register_sidebar - Description : Fonction basique de WP Header statique - Fonction : add_theme_support( 'custom-header'); the_custom_header_markup() - Description : Propre à WP. Onp peut s'en passer mais pas l'enlever --------------------------------------------------------------------------------------------- Menus prédéfinis de WP Il existe des menus de personnalisation de WP prédéfinis (CSS additionnel, Identité du side, Image d'en-tête, ...). Background image - Fonction : add_theme_support( 'custom-background', apply_filters( 'twentysixteen_custom_background_args', array( 'default-color' => 'black', ) ) ); add_theme_support( 'custom-background', apply_filters( 'twentysixteen_custom_background_args', array( 'default-color' => 'black', 'default-image' => '', ) ) ); - Description : cas particulier, il écrit un style CSS --------------------------------------------------------------------------------------------- En vrac : get_template_part('index'); get_template_part('hello', 'world'); // appelle le fichier hello-world.php theme_setup_data() // tous les paramètres du template dont la détection de la home --------------------------------------------------------------------------------------------- Fonctionnement du thème : functions.php require( 'custom_settings.php' ); custom_settings.php function donny_cool_sections_settings( $wp_customize ) { // Panel principal $wp_customize->add_panel( 'cool_section_settings', array( 'priority' => 126, 'capability' => 'edit_theme_options', 'title' => __('Cool section settings', 'donny'), )); } $wp_customize->add_section( 'minislide_settings' , array( 'title' => __('Minislide settings', 'donny'), 'panel' => 'cool_section_settings', 'priority' => 3, ) ); add_action( 'customize_register', 'donny_cool_sections_settings' ); $current_options['protfolio_tag_line'] // nom de la clé dans le tableau : test_title_three $wp_customize->add_setting( 'donny_theme_options[test_title_three]', array( 'default' => __('Business cards','donny'), 'capability' => 'edit_theme_options', 'sanitize_callback' => 'donny_input_field_sanitize_text', 'type' => 'option', )); // type de champ pour le setup du theme $wp_customize->add_control('donny_theme_options[test_title_three]', array( 'label' => __('Test Three', 'donny'), 'section' => 'tests_settings', 'type' => 'text', )); // lit le setup du thème // theme_setup_data() : paramètres par défaut sous forme de tableau wp_parse_args( get_option( 'donny_theme_options', array() ), theme_setup_data() ); wp_enqueue_script( 'sydney-scripts', get_template_directory_uri() . '/js/scripts.js', array('jquery'),'', true ); wp_enqueue_style( 'wpb-google-fonts', 'http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,700italic,400,700,300', false ); wp_enqueue_style('font-awesome', '//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css'); // Hook du menu https://wabeo.fr/hook-nav-menus/ // Hook simple function my_special_nav_class( $classes, $item ) { // if ( is_single() && $item->title == 'Blog' ) $classes[] = 'special-class'; if (in_array('current-menu-item', $classes) ){ $classes[] = 'nav-item'; $classes[] = 'active'; } else { $classes[] = 'nav-item'; } return $classes; } add_filter( 'nav_menu_css_class', 'my_special_nav_class', 10, 2 );