Le didacticiel WordPress essentiel pour les développeurs PHP • WPShout

By | septembre 22, 2020

Cours WordPress en ligne

Dans ce tutoriel WordPress pour les développeurs PHP, nous allons voir comment commencer à développer des sites Web WordPress si vous êtes nouveau sur WordPress mais que vous comprenez déjà PHP.

Donc, si vous avez une expérience PHP – peut-être à partir d'un framework d'application comme Laravel ou Symfony – mais que vous ne savez pas comment fonctionne WordPress, cet article est pour vous. (Si vous êtes nouveau sur PHP, notre cours gratuit vous apprendra les bases.)

WordPress pour les développeurs PHP: la bonne nouvelle

Un développeur PHP a un énorme avantage en entrant dans WordPress, car PHP est le cœur de WordPress. Il vous suffit d'apprendre la manière de faire de WordPress.

Si vous êtes un développeur PHP chevronné entrant dans l'écosystème WordPress, vous avez un énorme avantage, car PHP est le cœur de WordPress. Il vous suffit d'apprendre la manière de faire de WordPress. Dans cet article, nous allons décrire les meilleurs endroits de départ dans WordPress pour les développeurs PHP, afin que vous puissiez commencer à coder en toute confiance le plus rapidement possible.

Avant de plonger, sachez que cet article est juste un petit aperçu de notre guide phare du développement WordPress, Opérationnel. Si vous souhaitez vraiment apprendre le développement WordPress, Opérationnel est la meilleure ressource WordPress disponible.

Sérieux sur l'apprentissage du développement WordPress?

Opérationnel est notre cours complet «apprendre le développement WordPress». Maintenant dans sa troisième édition mise à jour et étendue, il a aidé des centaines d'acheteurs satisfaits à apprendre le développement WordPress de manière rapide, intelligente et approfondie.

"Je pense que toute personne intéressée par l'apprentissage du développement WordPress A BESOIN de ce cours.

Avant d'acheter Up and Running, je m'étais appris du code WordPress, mais je manquais de direction. Regarder les vidéos du cours était comme un tas de lumières allumées.

Je suis passé d'une connaissance vague du fonctionnement des thèmes, des fonctions et de WordPress lui-même à leur maîtrise. Tout est devenu beaucoup plus clair.

Je recommande très volontiers ce cours à toute personne disposée à écouter.

–Jason Robie, développeur WordPress

Passez à l'étape suivante dans votre parcours de développement WordPress!

Maintenant, commençons par quelque chose que vous voudrez certainement savoir dès que possible: ce que WordPress est À un haut niveau.

WordPress pour les développeurs PHP: WordPress est une usine

Vous pouvez mieux comprendre WordPress en tant qu'usine. Plus précisément, c'est une usine qui produit des pages Web.

WordPress est une usine: une introduction technique

Voici comment les pièces d'usine correspondent aux éléments d'une installation WordPress:

  • Premièrement, notre site d'usine est le serveur Web. WordPress fonctionne bien sur les serveurs Apache ou Ngnix.
  • le matières premières pour construire notre produit fini sont des postes. Que sont les messages? Nous y reviendrons très prochainement.
  • Notre entrepôt est un base de données qui stocke nos messages. WordPress utilise des bases de données MySQL ou MariaDB.
  • le ligne d'assemblage pour assembler des messages est un thème. Les fichiers de modèle de thème rassemblent les données de publication et contrôlent sa logique d'affichage.
  • Parfois, nous devons appeler entrepreneurs extérieurs pour façonner notre produit: ce sont plugins.
  • Enfin, notre produit fini est un fini page Web.

Si vous utilisez cette «analogie d'usine» dans votre compréhension globale de WordPress, vous aurez une idée globale très claire de ce que WordPress et ses principaux sous-systèmes sont conçus pour accomplir, et comment ils fonctionnent ensemble.

WordPress pour les développeurs PHP: sujets que nous aborderons

En tant que développeur WordPress backend (basé sur PHP), votre travail principal consistera à créer, modifier et dépanner des thèmes et des plugins. Pour ce faire, vous devez comprendre les éléments suivants:

  • Qu'est-ce qu'un message
  • Thèmes et développement de thèmes
    • La boucle
    • La hiérarchie des modèles
    • Anatomie des fichiers modèles
    • Le fichier functions.php
  • Crochets
  • Types de données personnalisés
    • Types de publication personnalisés
    • Les champs personnalisés
    • Taxonomies personnalisées
  • WP_Query
  • Plugins et développement de plugins

Ce sont les sujets que nous introduisons dans ce tutoriel PHP WordPress. Commençons par découvrir les posts.

WordPress pour les développeurs PHP: qu'est-ce qu'un article

La prochaine étape de notre tutoriel WordPress pour les développeurs PHP est de savoir ce qu'est exactement un article. Lorsque WordPress est installé, il crée 12 tables de base de données.

tables de base de données dans une nouvelle installation WordPress

Tables de base de données dans une nouvelle installation WordPress

le wp_posts table est celle que PHP effectue la plupart de sa récupération et de son transport de données vers et depuis. Chaque élément du tableau est un Publier. «Post» signifiait à l'origine «article de blog», car WordPress était à l'origine un logiciel de blog.

Mais à mesure que WordPress évoluait, il y avait un besoin pour un contenu qui n'était pas daté et qui ne changeait pas souvent. Dans WordPress 2.0, le page est né quand un Type de poste champ a été ajouté au wp_posts table. Cela signifiait qu'il pouvait stocker des articles ou des pages.

Post types de publication et de page dans une nouvelle installation de WordPress

Les publications et les pages ne sont pas les seuls types de contenu utilisés par WordPress. Il existe également des types de publication de menu de révision, de pièce jointe et de navigation.

Vous pouvez même créer vos propres types en créant des types de publication personnalisés, tels que Produits. Nous reviendrons sur ce sujet plus tard.

WordPress pour les développeurs PHP: Thèmes et développement de thèmes

Un WordPress thème est responsable d'obtenir le contenu de l'article de la base de données et de le sortir pour l'affichage.

Un seul thème peut être actif sur un site à la fois. Cependant, il est possible de développer un thème enfant qui hérite la plupart de ses propriétés d'un thème parent, mais qui est personnalisé pour apparaître différemment sur le front-end.

Thèmes enfants WordPress: un guide complet des concepts de base

Le travail d'un thème est de dicter le apparence des pages Web qu'il aide à générer. Si un développeur de thème commence à ajouter trop de fonctionnalités à un thème, comme l'enregistrement d'un type de publication personnalisé, il devient impossible pour un utilisateur de basculer vers un nouveau thème plus tard sans perdre cette fonctionnalité. Nous appelons ce «fluage de thème».

La menace du fluage du thème WordPress

Mettez toute fonctionnalité liée aux données sous-jacentes du site, plutôt qu'à la présentation, dans plugins, pas dans votre thème.

La bonne approche consiste à intégrer vos fonctionnalités personnalisées (tout ce qui est lié aux données sous-jacentes du site plutôt qu'à la présentation) plugins, qui peut fonctionner avec n'importe quel thème. Lisez d'autres choses que votre thème WordPress ne devrait pas faire.

Le nombre minimum de fichiers qu'un thème peut avoir est de deux: index.php pour récupérer des messages, et style.css pour styliser la sortie. En pratique, cependant, la plupart des thèmes en ont beaucoup plus.

Développement de thèmes WordPress: la boucle

Dans le index.php fichier d'un thème est ce que l'on appelle la boucle, le code de sortie des messages.

Comprendre la boucle: la façon dont WordPress affiche les articles

Voici une version de base de la boucle:

<? php
if (have_posts ()) 
while (have_posts ()) 
la poste();
// (Le contenu de la boucle ira ici)
 // fin pendant
 // fin si

Tout d'abord, la boucle recherche dans la base de données les publications. S'il n'y a pas de messages, un thème peut afficher un message tel que "Désolé, aucun message n'a été trouvé".

S'il y a des articles, WordPress utilise un tandis que() boucle pour les parcourir. La fonction la poste() prépare le prochain article pour le traitement.

Lorsque tous les messages ont été traités, le tandis que() la boucle se termine et le si-la déclaration se termine.

Alors, qu'est-ce que la boucle produit réellement? Cela dépend des fonctions WordPress que vous ajoutez.

  • affiche le titre de l'article.
  • affiche l'extrait de l'article, une version abrégée de l'article.
  • affiche le contenu de l'article dans son intégralité.
  • affiche le nom de l'auteur du message.
  • affiche la date de publication. Cette fonction utilise le format de date PHP.

Vous trouverez toutes ces fonctions dans la référence de code WordPress. Au fur et à mesure que vous apprenez le développement WordPress, vous constaterez qu'il s'agit d'un guide inestimable. Ajoutez-le à vos favoris!

Développement de thèmes WordPress: la hiérarchie des modèles WordPress

Les thèmes ont généralement de nombreux fichiers PHP car ils ont besoin de différentes façons d'afficher différents types de contenu. Et la plupart de ces fichiers utilisent la boucle.

Par exemple:

  • Une page de blog qui affiche un certain nombre d'articles: home.php ou index.php
  • Un seul post: single.php
  • Une feuille: page.php
  • Une page de catégorie: category.php ou archive.php

Comment WordPress sait-il quel modèle servir? WordPress passe par un organigramme demandant de quel type de contenu il s'agit. Il recherche d'abord le modèle le plus spécifique, puis revient à quelque chose de plus général s'il ne peut pas être trouvé. En dernier recours, il utilisera index.php.

C'est ce qu'on appelle la hiérarchie des modèles WordPress.

La hiérarchie des modèles dans WordPress

Vous pouvez voir une représentation visuelle de la hiérarchie des modèles WordPress ci-dessous, ou sur notre site wphierarchy.com.

Hiérarchie des modèles WordPress

Anatomie des fichiers modèles

Vous serez familiarisé avec l'utilisation de PHP require et incluez la syntaxe pour les blocs de code réutilisables.

WordPress a ses propres fonctions pour inclure l'en-tête et le pied de page sur les articles et les pages:

get_header ();

get_footer ();

le get_template_part () fonction

Une autre fonction importante pour éviter la répétition du code est get_template_part ().

Fonction get_template_part () de WordPress: quoi et pourquoi

Ce qui est bien avec cette fonction, la rendant supérieure à PHP exiger ou comprendre, est qu'il prend plusieurs paramètres. Cela signifie que vous pouvez avoir un élément de modèle de secours si celui que vous spécifiez est introuvable.

Dans le thème Twenty Nineteen, un modèle peut spécifier du contenu pour un type spécifique tel qu'un seul article (content-single.php). le content.php file est la solution de secours.

Composants du modèle de contenu Twenty Ninteen

Voici le code qui appelle le content-single.php partie de modèle de single.php. Cette ligne est dans la boucle, après la poste();

get_template_part ('template-parts / content / content', 'single');

Vous pouvez en savoir plus sur get_template_part () ici.

Développement de thèmes WordPress: Le functions.php fichier

le functions.php file est un fichier spécifique dans un thème WordPress qui contient des fonctions qui spécifient la configuration du thème.

Ajout de fonctionnalités avec functions.php, un cœur du développement de thèmes WordPress

Ces fonctions pourraient inclure:

  • Spécification des tailles d'image personnalisées utilisées par le thème.
  • Mise en file d'attente de scripts ou de styles.
  • Ajout de menus de navigation.

Comme nous l'avons mentionné précédemment, lorsque vous créez un thème, nous ne recommandons pas d'y ajouter trop de fonctions. Envisagez plutôt d'écrire un plugin.

WordPress pour les développeurs PHP: Hooks (actions et filtres)

Nous arrivons maintenant à un élément clé de notre tutoriel de développement WordPress: Crochets WordPress.

Cours: Une introduction complète au système WordPress Hooks

Comprendre le fonctionnement des hooks est important pour l'écriture de thèmes, et en particulier pour les plugins. Plus largement, presque tout le développement WordPress implique l'utilisation constante de crochets; ils font partie intégrante de

Les hooks sont un système événementiel utilisé dans WordPress.

Il existe deux types de hooks WordPress: les hooks d'action et les hooks de filtre.

  • Crochets d'action sont des points dans le code où certaines fonctionnalités sont ajoutées.
  • Crochets de filtre modifier le contenu qui existe déjà.

Pour utiliser ces hooks, vous écrivez des fonctions.

Fonctions d'action (ou actions) se connectent aux hooks d'action et ne retournent pas de valeur.

Fonctions de filtrage (ou filtres) se connectent avec des crochets de filtre et doivent renvoyer une valeur.

Hooks WordPress: Crochets d'action

Un exemple de crochet d'action est widgets_init.

De nombreux plugins utilisent ce hook pour ajouter un widget à la liste par défaut. Les widgets s'affichent à l'avant dans les zones de widgets, souvent des barres latérales.

Voici un exemple de fonction d’action utilisant ce hook.

add_action ('widgets_init', 'First_WordPress_Widget');
function First_WordPress_Widget () 
register_widget ('First_WordPress_Widget');

Le widget doit être défini comme une extension du WP_Widget classe. Pour cela, vous avez besoin d'une fonction de constructeur et d'une autre pour afficher le contenu du widget sur le front-end. Si vous avez utilisé PHP orienté objet, ce code vous semblera familier.

/ **
* Ajoute le widget First_WordPress_Widget.
* /

la classe First_WordPress_Widget étend WP_Widget 

/ **
* Enregistrez le widget avec WordPress.
* /
fonction publique __construct () 
parent :: __ construct (
'First_WordPress_Widget', // ID de base
'Premier widget WordPress', // Nom
array ('description' => __ ('First WordPress Widget', 'text_domain'),) // Args
);


/ **
* Affichage frontal du widget.
*
* @see WP_Widget :: widget ()
*
* @param array $ args Arguments du widget.
* @param array $ instance Valeurs sauvegardées de la base de données.
* /
widget de fonction publique ($ args, $ instance) 
echo 'Premier widget WordPress! Yay!';

Voici à quoi ressemble le backend:

Premier widget WordPress - back-end

Et sur le front-end, dans le thème Twenty Nineteen:

Premier widget WordPress - frontal

Bien que ce code crée un widget fonctionnel, il n’est pas très utile car il n’accepte aucune entrée utilisateur. Pour savoir comment créer des widgets modifiables par l'utilisateur, consultez le didacticiel de Fred sur la création de widgets WordPress dynamiques et modifiables par l'utilisateur.

Hooks WordPress: Crochets de filtre

Un exemple de crochet de filtre est extrait_longueur.

La fonction ci-dessous utilise ce hook en réduisant la longueur d'extrait par défaut de 55 mots à 25 mots:

function custom_excerpt_length ($ length) 
retour 25;


add_filter ('excerpt_length', 'custom_excerpt_length', 999);

Le 999 indique priorité. Toute action ou filtre avec une priorité de 999 s'exécutera après toutes les autres fonctions attachées au même hook.

WordPress pour les développeurs PHP: types de publication personnalisés, champs personnalisés et taxonomies personnalisées

Étendons ce tutoriel WordPress pour les développeurs PHP afin de discuter des principaux types de données personnalisés de WordPress: types de publication personnalisés, champs personnalisés et taxonomies personnalisées.

Types de publication personnalisés

Types de publication personnalisés, souvent abrégés en CPT, sont une fonctionnalité puissante de WordPress. En les utilisant, vous pouvez créer n'importe quel type de contenu que vous désirez. Comme les publications et les pages, les CPT sont stockés dans le wp_posts table.

Pourquoi et comment utiliser des types de publication personnalisés dans WordPress

Champs personnalisés et taxonomies personnalisées

Les champs personnalisés et les taxonomies personnalisées sont des moyens distincts d'ajouter des données supplémentaires aux publications WordPress.

Utilisation de taxonomies personnalisées et de champs personnalisés dans le développement WordPress

Les champs personnalisés

Les champs personnalisés sont des métadonnées que vous pouvez ajouter à n'importe quel type de publication. Ils sont stockés dans la table wp_postmeta de votre base de données WordPress et se composent d'une clé (ou d'un nom) et d'une valeur.

Vous pouvez utiliser le get_post_meta ()pour afficher les valeurs de vos champs personnalisés. Voyez comment dans l'article de David, Comment créer et utiliser des champs personnalisés WordPress.

Comment créer et utiliser des champs personnalisés WordPress

Taxonomies personnalisées

Taxonomies sont des moyens de classer le contenu. WordPress a deux taxonomies intégrées, catégories et Mots clés, qui sont disponibles pour les messages. Les catégories sont hiérarchiques et peuvent donc être subdivisées. Les balises sont plates et n'ont pas de hiérarchie.

Découvrez comment définir vos propres taxonomies personnalisées.

Taxonomies personnalisées WordPress: comment et pourquoi les créer

Trois tables associées stockent les données de taxonomie:

wp_terms stocke les noms que vous utilisez dans vos taxonomies. Dans cet exemple, quatre sont illustrés: hommes, jeans pour hommes, chemises pour hommes et chaussures pour hommes.

wp_terms - Boutique WooCommerce

wp_term_taxonomy montre le type de taxonomie pour chaque terme. Dans l'exemple suivant, ce sont toutes des catégories de produits.

wp_term_taxonomy - Boutique WooCommerce

wp_term_relationships montre les relations de chaque taxonomie avec ses produits. le object_id le champ correspond au ID du wp_posts table.

wp_term_relationships - Boutique WooCommerce

Voici comment vous pouvez utiliser des taxonomies et des champs personnalisés avec un livre type de publication personnalisé:

  • Genre: une taxonomie personnalisée pour le type d'écriture. Comme une catégorie, vous pouvez subdiviser un genre, de sorte que "Romance" peut être décomposé en "Romance historique" et "Romance vampire", etc.
  • Auteur: une taxonomie personnalisée de type tag pour les écrivains.
  • Date de publication: un champ personnalisé avec l'année de publication.

Pour récupérer ces informations, nous pouvons utiliser un nouvel outil pour interroger la base de données WordPress: WP_Query.

WordPress pour les développeurs PHP: WP_Query

WP_Query est une partie importante de ce tutoriel WordPress pour les développeurs PHP: c'est un moyen puissant de donner une commande personnalisée dans l'usine WordPress. Lorsque vous utilisez WP_Query, vous pouvez rechercher des données, en particulier des articles WordPress, en utilisant la syntaxe PHP plutôt que SQL.

WP_Query: Comprenez-le, adorez-le!

En termes techniques, WP_Query est une classe PHP à partir de laquelle vous pouvez instancier un objet de requête.

Un objet de requête de base est formé comme ceci:

$ query = new WP_Query ($ args);

Lorsque vous créez votre objet de requête, vous pouvez lui passer des arguments sous la forme d'un tableau associatif, avec des clés et des valeurs. Cela permet d'obtenir des résultats à partir de requêtes extrêmement spécifiques.

Ces arguments sélectionnent 5 articles dans le balisage de la catégorie et les trient dans un ordre aléatoire.

$ args = tableau (
'posts_per_page' => '5',
'orderby' => 'rand',
'category_name' => 'balisage',
);

Consultez la liste complète des paramètres WP_Query.

Vous pouvez utiliser votre objet de requête à la fois dans la boucle et en dehors de la boucle.

Lorsque votre requête est terminée, vous devez terminer votre code par wp_reset_postdata () qui réinitialise la variable globale $ post à son état d'origine.

Votre code final pourrait ressembler à ceci:

    «5»,
'orderby' => 'rand',
'category_name' => 'balisage',
);

// La requête
$ query = new WP_Query ($ args);

// La boucle
if ($ query-> have_posts ()) 
while ($ query-> have_posts ()) 
$ query-> the_post ();
$ sortie = '';
$ output. = '

'.get_the_title ().'

'; $ output. = '

'.get_the_date ().'

'; echo $ sortie; autre // aucun article trouvé echo 'Il n'y a aucun message à afficher.'; // Restaurer les données de publication d'origine wp_reset_postdata (); ?>

Remarquez comment get_the_title () est utilisé plutôt que le titre(). Ainsi, le titre peut être stocké dans le $ sortie variable plutôt qu’en écho directement. Il en va de même pour le permalien et la date.

Pour en savoir plus sur ce sujet, nous avons un cours sur WP_Query que vous pouvez suivre.

WP_Query: Comprenez-le, adorez-le!

WordPress pour les développeurs PHP: Plugins et développement de plugins

Nous vous en voudrions de lire l'intégralité de notre tutoriel WordPress pour les développeurs PHP sans savoir quoi et comment fonctionnent les plugins – ils sont extrêmement importants dans WordPress.

Les plugins sont des packages de code qui ajoutent des fonctionnalités qui ne font pas partie de WordPress Core.

Plugins sont des packages de code qui ajoutent des fonctionnalités qui ne font pas partie de WordPress Core. Comme les entrepreneurs, ils n'entrent dans l'usine que lorsqu'ils sont mis en service.

L'un des plugins WordPress les plus simples (et les moins utiles), inclus avec chaque nouvelle installation de WordPress, est Hello Dolly. Le plugin utilise un mélange de fonctions WordPress et de fonctions PHP.

Voici un aperçu des fonctions du plug-in et de ce qu’elles font.

bonjour_dolly_get_lyric ()

  1. Les paroles des chansons «Hello, Dolly» sont stockées dans une variable, $ paroles.
  2. Les paroles sont divisées ligne par ligne dans un tableau en utilisant le PHP exploser
  3. PHP compter compte le nombre d'éléments dans le tableau, et la mt_rand La fonction sélectionne une ligne aléatoire.
  4. le wptexturize () La fonction embellit les tirets, les guillemets et les apostrophes dans le texte.
  5. Enfin, la fonction renvoie une valeur, une ligne aléatoire de la chanson.

Bonjour Dolly()

  1. La ligne de chanson du bonjour_dolly_get_lyric () la fonction est récupérée et stockée dans une variable, $ choisi.
  2. Une deuxième variable, $ lang est défini comme une chaîne vide.
  3. le get_user_locale () La fonction obtient les paramètres régionaux de l'utilisateur WordPress (leur langue et leur région).
  4. En utilisant la fonction substr de PHP pour obtenir les 3 premières lettres de la locale, un si l'instruction vérifie si cette chaîne n'est pas égale à la chaîne 'en_'. En d'autres termes, l'utilisateur ne pas en utilisant l'anglais comme langue?
  5. Si la si la déclaration évalue vrai, $ lang est réglé sur 'lang = "en"'. Sinon, cette variable conserve sa valeur vide.
  6. PHP printf La fonction génère les deux variables dans un certain HTML. le $ choisi la variable est sortie dans Mots clés. Si la si la déclaration était vraie, le $ lang la variable est ajoutée comme attribut de ce .
  7. Quelques mots expliquant la chanson et le compositeur sont insérés comme texte de lecteur d'écran afin que les utilisateurs aveugles sachent ce que les paroles représentent. Les mots sont enveloppés dans la fonction de traduction WordPress __ (). Si une traduction est disponible, elle est sortie. Si aucune traduction n'est disponible, le texte anglais d'origine est généré.

add_action ('admin_notices', 'hello_dolly');

Cela s'accroche au admin_notices crochet d'action pour ajouter la sortie générée par Bonjour Dolly() Là. Comme il s'agit d'un avis d'administrateur, il ne sera visible que lorsqu'un utilisateur est connecté.

dolly_css ()

Cela utilise PHP écho pour produire du code CSS pour styliser les paroles.

add_action ('admin_head', 'dolly_css');

Enfin, cette fonction se connecte au hook d'action admin_head. Il ajoute le style CSS juste défini dans le de l'administrateur WordPress.

Voici un exemple de la sortie en anglais:

Bonjour, Dolly en anglais

Citation de la chanson Hello Dolly, de Jerry Herman: Bonjour Dolly

Et en français:

Bonjour, Dolly en français

Citation de la chanson Hello Dolly, par Jerry Herman: Je peux dire, Dolly

Écrire vos propres plugins

Pour commencer à créer des plugins, suivez notre tutoriel étape par étape sur l'écriture d'un plugin WordPress à partir de zéro.

Écrire un plugin WordPress à partir de zéro: un didacticiel pas à pas

C'est une bonne pratique lorsque vous écrivez des plugins pour utiliser des espaces de noms, comme vous le feriez lorsque vous codez avec PHP. L'utilisation d'espaces de noms rend votre code plus organisé et plus facile à gérer. En savoir plus sur l'espacement des noms dans les plugins WordPress.

Comme vous l'avez vu avec le plugin Hello Dolly, il est également judicieux de préparer vos plugins et thèmes pour la traduction, afin qu'ils puissent toucher plus d'utilisateurs. En savoir plus sur les fonctions de traduction et d'internationalisation dans WordPress.

Résumer

Voici un résumé de ce tutoriel WordPress pour les développeurs PHP. Félicitations – vous avez maintenant couvert les bases de l'utilisation de PHP dans WordPress.

Si vous souhaitez devenir un développeur WordPress à part entière, notre Up and Running: Un guide pratique du développement WordPress vous permettra de vous mettre rapidement à jour. Découvrez-le aujourd'hui!

La meilleure façon d'apprendre le développement WordPress

Opérationnel est notre cours complet «apprendre le développement WordPress». Maintenant dans sa troisième édition mise à jour et étendue, il a aidé des centaines d'acheteurs satisfaits à apprendre le développement WordPress de manière rapide, intelligente et approfondie.

Voici ce qu'ils ont à dire:

caroline freelance wordpress

«D'autres cours que j'ai essayés manquent presque toujours d'explications claires sur les raisons pour lesquelles WordPress fait les choses d'une certaine manière ou comment les choses fonctionnent ensemble.

Opérationnel fait tout cela, et tout est expliqué clairement et dans un langage facile à comprendre. »

–Caroline, pigiste WordPress

"Opérationnel vraiment tout rassemblé pour moi. Je connaissais déjà certaines des pièces, mais le cours a comblé les lacunes et fourni une bonne compréhension du fonctionnement de WordPress.

Je l'ai trouvé facile à suivre, fournissant juste la bonne profondeur de connaissances dans le bon ordre. »

–Hugues, développeur web indépendant

[ad_2]