Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Lire le code de WordPress

Willy Bahuaud
February 08, 2016

Lire le code de WordPress

Voici les slides de ma conférence du WordCamp Paris 2016.
Désolé pour les vidéos et les gifs qui restent inanimées en PDF :-/ L'article récapitulatif est accessible sur mon blog : https://wabeo.fr/lire-code-wordpress/

Willy Bahuaud

February 08, 2016
Tweet

Other Decks in Programming

Transcript

  1. Pourquoi & comment
    lire le code
    de WordPress ?

    View Slide

  2. @willybahuaud
    webdesigner
    intégrateur
    développeur

    View Slide

  3. Pour commencer sans lire le
    code source, il y a :
    4 le codex
    4 les blogs
    4 les forums
    4 les agrégateurs de documentation
    4 les groupes sur Slack ou Facebook
    4 …

    View Slide

  4. Dans le code source
    vous aurez une
    vision globale
    de chaque fonction

    View Slide

  5. Lire le code
    va vous permettre
    de progresser

    View Slide

  6. Connaitre les rudiments de la
    programmation :
    4 reconnaitre les variables
    4 reconnaitre les structures de contrôle
    4 reconnaitre les fonctions
    4 reconnaitre les opérateurs
    4 reconnaitre les classes
    4 les hooks

    View Slide

  7. Le code source est
    vraiment bien
    documenté

    View Slide

  8. Exemple de documentation
    /**
    * Delete a user from the network and remove from all sites.
    *
    * @since 3.0.0
    * @since 4.2.0 Fancy improvments
    *
    * @todo Merge with wp_delete_user() ?
    *
    * @global wpdb $wpdb WordPress database abstraction object.
    * @see get_super_admins()
    *
    * @param int $id The user ID.
    * @return bool True if the user was deleted, otherwise false.
    */
    function wpmu_delete_user( $id ) {

    View Slide

  9. Arborescence des fichiers de
    WordPress #racine
    4 chargement du core : index, wp-blog-
    header, wp-load,…
    4 pour une raison pratique : connexion & cie,
    soumission de commentaires, cron,
    xmlrpc… (WordPress bootstrap inside)

    View Slide

  10. Arborescence des fichiers de
    WordPress #répertoires
    4 wp-includes : utilisés en front-end &
    back-end
    4 wp-content : tout ce qui est propre au
    site
    4 wp-admin : tout ce qui ne concerne que
    l'administration (sauf admin-ajax et admin-post)

    View Slide

  11. Lire le code
    par le début
    n'est pas une
    bonne idée

    View Slide

  12. Dans index.php ça va…

    View Slide

  13. … wp-blog-header.php ça va
    aussi…

    View Slide

  14. … dans wp-load.php ça va
    encore…

    View Slide

  15. … wp-config.php toujours…

    View Slide

  16. wp-settings.php

    View Slide

  17. Lire le code
    en l'utilisant
    sur un projet

    View Slide

  18. Avoir les fichiers
    de WordPress
    sur son ordi

    View Slide

  19. La commande
    « find in files »
    cmd + shift + f

    View Slide

  20. fonction the_excerpt(
    trouvera uniquement
    la fonction

    View Slide

  21. add_filter( 'the_excerpt'
    retournera uniquement
    les filtres

    View Slide

  22. add_action( 'comment_post'
    retournera uniquement
    les actions

    View Slide

  23. Pour les classes
    class WP_Query
    avec les majuscules
    et l'espace à la fin

    View Slide

  24. Allez voir la
    classe parente
    en cas d'héritage

    View Slide

  25. Rechercher du code
    à partir
    du HTML
    (admin seulement)

    View Slide

  26. S'intéresser au Javascript
    4 SCRIPT_DEBUG à true
    4 utiliser l'inspecteur du navigateur

    View Slide

  27. View Slide

  28. Si vous ne trouvez rien
    pensez à regarder :
    4 dans les fonctions natives du language
    4 dans les dépendances externes au projet
    4 dans les plugins, themes ou mu-plugins

    View Slide

  29. Des fichiers intéressants à lire
    pour commencer
    4 formatting.php & default-filters.php
    4 functions.php
    4 query.php
    4 general-template.php & post-
    template.php

    View Slide

  30. Restez informés :
    Make WordPress Core
    Follow : @wpdevel

    View Slide

  31. Merci !
    Des questions ?

    View Slide