web-dev-qa-db-fra.com

Comment stocker/accéder aux fichiers dans le dossier du thème enfant

Nous déplaçons un site HTML/PHP vers WordPress et souhaitons utiliser le maximum de code actuel. Nous utilisons le thème Avada et avons créé un dossier de thème enfant Avada avec les 2 fichiers requis (functions.php et style.css). Après de nombreuses recherches pour savoir exactement comment placer nos fichiers .php personnalisés dans WordPress et les appeler à partir de la page, nous nous posons quelques questions:

  1. Pouvez-vous placer des fichiers .php personnalisés directement dans le dossier du thème de l'enfant? Certaines des recherches trouvées indiquent que vous devez écrire vos fonctions personnalisées PHP dans le fichier functions.php.
  2. Si nous sommes obligés d'écrire toutes les fonctions dans le fichier functions.php, comment "appelez-vous" une fonction dans une fonction? L'utilisation de "includes" n'a pas beaucoup de sens si toutes les fonctions sont dans un fichier.
  3. Si vous POUVEZ STOCKER les fichiers .php personnalisés dans le dossier du thème enfant (sous forme de fichiers et de noms de fichiers distincts), appelez-les avec un "include" comme vous le feriez dans les fichiers de site HTML/PHP standard (pas à l'intérieur de WordPress) Si non, comment ça marche?
  4. Où dans le thème de l'enfant stockez-vous les fichiers Javascript?
1
WebDev

Pouvez-vous placer des fichiers .php personnalisés directement dans le dossier du thème de l'enfant?

Oui bien sûr, vous pouvez. WordPress est PHP. Ce qui fonctionne dans PHP fonctionne dans WordPress.

Certaines des recherches trouvées indiquent que vous devez écrire vos fonctions personnalisées PHP dans le fichier functions.php.

Absurdité. De nombreux thèmes séparent le code en plusieurs fichiers , y compris "Twenty Fifteen" . Ce n’est pas seulement une solution mais une solution judicieuse, car elle permet de garder votre base de code organisée et gérable.

Si nous sommes obligés d'écrire toutes les fonctions dans le fichier functions.php, comment "appelez-vous" une fonction dans une fonction? L'utilisation de "includes" n'a pas beaucoup de sens si toutes les fonctions sont dans un fichier.

Cela n'a pas de sens. Les définitions de fonctions utilisateur dans PHP sont toutes globales. Une fois chargés, ils peuvent être utilisés n’importe où. C’est fondamental PHP (qui fonctionne normalement dans "WordPress"). Il ne devrait y avoir aucun problème avec "l'appel" d'une fonction dans une fonction. Si la fonction a été définie, utilisez-la simplement.

Si vous POUVEZ STOCKER les fichiers .php personnalisés dans le dossier du thème enfant (sous forme de fichiers et de noms de fichiers distincts), appelez-les avec un "include" comme vous le feriez dans les fichiers de site HTML/PHP standard (pas à l'intérieur de WordPress)

Vous pouvez et oui. require, require_once, include et include_once fonctionnent normalement dans WordPress. Wordpress est une application PHP. PHP fonctionne sous WordPress . Honnêtement, je ne comprends pas pourquoi tant de gens semblent penser que ce n'est pas le cas ... WordPress rompt en quelque sorte PHP.

Où dans le thème de l'enfant stockez-vous les fichiers Javascript?

Où tu veux. Habituellement, un dossier nommé "js" ou "javascript", mais cela dépend de vous. Vous pouvez le stocker dans un dossier nommé "fred" si vous le souhaitez ou dans aucun dossier.

1
s_ha_dum
  1. Pouvez-vous placer des fichiers .php personnalisés directement dans le dossier du thème de l'enfant? Certaines des recherches trouvées indiquent que vous devez écrire vos fonctions personnalisées PHP dans le fichier functions.php.

Vous pouvez mettre dans le dossier directement et l'utiliser. Les modèles de thème enfants fonctionnent dans une hiérarchie. Le thème enfant remplace le dossier de thème parent. Par conséquent, si vous souhaitez modifier un fichier, vous pouvez copier ces fichiers dans un dossier de thème enfant et le modifier. (Si possible et disponible, utilisez les points d'ancrage pour hériter des codes au lieu de copier directement les fichiers.)

  1. Si nous sommes obligés d'écrire toutes les fonctions dans le fichier functions.php, comment "appelez-vous" une fonction dans une fonction? L'utilisation de "includes" n'a pas beaucoup de sens si toutes les fonctions sont dans un fichier.

Ceci est une pratique standard pour inclure toutes les fonctions dans function.php. Si vous voulez faire une pause, vous pouvez le faire. Par exemple:

define('FUNCTIONS_PATH', get_template_directory() . '/functions/' );

require_once (FUNCTIONS_PATH.'post-types.php');
require_once (FUNCTIONS_PATH.'metaboxes.php');
require_once (FUNCTIONS_PATH.'theme-functions.php');
require_once (FUNCTIONS_PATH.'theme-widgets.php');
require_once (FUNCTIONS_PATH.'activation-plugin.php');

Vous pouvez mettre des fonctions dans différents fichiers et thèmes d'appel ici.

  1. Si vous POUVEZ STOCKER les fichiers .php personnalisés dans le dossier du thème enfant (sous forme de fichiers et de noms de fichiers distincts), appelez-les avec un "include" comme vous le feriez dans les fichiers de site HTML/PHP standard (pas à l'intérieur de WordPress) Si non, comment ça marche?

Pour inclure les fichiers dans le thème enfant, suivez cette approche à partir de WordPress Codex

require_once( get_stylesheet_directory() . '/my_included_file.php' );

4. Où stockez-vous les fichiers Javascript dans le thème de l'enfant? Vous pouvez mettre où vous voulez, par exemple dans un nom de dossier js, javascript, scripts, lib, etc. ou suivre la même approche que le thème parent.

Si vous voulez quelque chose de plus s'il vous plaît commenter.

J'espère que cela va satisfaire.

Merci

Vee

0
Vee