style de mise en file d'attente wp sur des modèles de page spécifiques
6 réponses
- votes
-
- 2012-08-08
Si vousprévoyez defairebeaucoup de développement WP,vous devriez ajouter cettepage à vosfavoris: http://codex.wordpress.org/Conditional_Tags
L'autre réponsefonctionnemais le conditionnel repose sur le slug de votrepage (myurl.com/this-is-the-slug) quine changejamais.Uneméthodeplusfiable (IMO),et qui correspond à ce cas,consisterait à utiliser la vérification conditionnelle
is_page_template('example-template.php')
à laplace.If you plan to do a lot of WP development you should bookmark this page: http://codex.wordpress.org/Conditional_Tags
The other answer works but the conditional relies upon your page slug (myurl.com/this-is-the-slug) never changing. A more reliable method (IMO), and one that fits this case, would be to use the
is_page_template('example-template.php')
conditional check instead. -
- 2012-08-08
Vouspouvez utiliser le conditionnel
is_page( 'landing-page-template-one' )
autour des styles/scripts spécifiques à votrepage dans le cadre de vosinstructions demiseen file d'attenteglobales.function my_enqueue_stuff() { if ( is_page( 'landing-page-template-one' ) ) { /** Call landing-page-template-one enqueue */ } else { /** Call regular enqueue */ } } add_action( 'wp_enqueue_scripts', 'my_enqueue_stuff' );
Vouspouvezmêmeenchaînerplus de
elseif
dans ce quiprécèdepour d'autrespages,etc.Référence: Référence desfonctions -
is_page()
You can use the
is_page( 'landing-page-template-one' )
conditional around your page specific styles / scripts as part of your over-all enqueue statements.function my_enqueue_stuff() { if ( is_page( 'landing-page-template-one' ) ) { /** Call landing-page-template-one enqueue */ } else { /** Call regular enqueue */ } } add_action( 'wp_enqueue_scripts', 'my_enqueue_stuff' );
You could even chain more
elseif
into the above for other pages, etc.Reference: Functions Reference -
is_page()
-
Vous êtes lebienvenu Sean,heureux de vous aider.You're welcome Sean, glad to help.
- 0
- 2012-08-15
- Edward Caissie
-
Jepense que l'utilisation de `is_page_template ()`estpréférable car le slug depageestfacilementmodifié.Cette solution,bien qu'ellefonctionne correctement,sebriserait si le slug était changé.Voir la solution de kchjr si quelqu'un rencontre desproblèmes à l'avenir.I think using `is_page_template()` is preferable since the page slug is easily changed. This solution, while it works fine, would break if the slug was changed. See kchjr's solution if anyone runs into problems in the future.
- 2
- 2015-11-14
- BODA82
-
Je vous remercie!Pour les autres qui sonttombés dessus: l'instruction conditionnelle `is_page` doit être dans lafonction attachée à l'actionet nepasencapsuler l'instruction` add_action`elle-même.Si vousencapsulez l'instruction `add_action` dans un conditionnel,il seratroptôt dans letraitement de lapagepour savoir de quellepageil s'agit.Thank you! For others who stumbled upon this: the conditional statement `is_page` must be in the function attached to the action and not wrapping the `add_action` statement itself. If you do wrap the `add_action` statement in a conditional, it will be to early in the processing of the page to know what page it is.
- 0
- 2016-05-25
- Hendeca
-
- 2018-10-21
Si lemodèle depageest situé dans un sous-répertoire duthème (depuis WP 3.4),ajoutez lenom du dossieret unebarre oblique aunom defichier dumodèle,parexemple:
is_page_template( 'templates/about.php' );
Donc,toute lafonction ressemble à:
function my_enqueue_stuff() { if ( is_page_template( 'landing-page-template-one' ) ) { /** Call landing-page-template-one enqueue */ } else { /** Call regular enqueue */ } } add_action( 'wp_enqueue_scripts', 'my_enqueue_stuff' );
Référence: Documentations officielles
If the page template is located in a subdirectory of the theme (since WP 3.4), prepend the folder name and a slash to the template filename, e.g.:
is_page_template( 'templates/about.php' );
So, whole function look like:
function my_enqueue_stuff() { if ( is_page_template( 'landing-page-template-one' ) ) { /** Call landing-page-template-one enqueue */ } else { /** Call regular enqueue */ } } add_action( 'wp_enqueue_scripts', 'my_enqueue_stuff' );
Reference: Official Documentations
-
Merci dementionner que la vérification `is_page_template ()` devrait être à l'intérieur de lafonction demiseen file d'attente,et non autour d'elle.Thanks for mentioning that the `is_page_template ()` check should be inside the enqueue function, and not around it.
- 0
- 2019-07-01
- gregn3
-
- 2016-12-22
Jene saispas si les solutionsfournies dans d'autres réponsesfonctionnaient,mais (commeiln'y apas de réponse acceptée!),il semble que labonne réponse soit actuellement:
function my_enqueue_stuff() { if ( get_page_template_slug() == 'landing-page-template-one.php' ) { wp_enqueue_script('my-script-handle', 'script-path.js', ... ); } } add_action( 'wp_enqueue_scripts', 'my_enqueue_stuff' );
is_page_template ()ne fonctionne qu'en dehors de laboucle,selon https://developer.wordpress.org/reference/functions/is_page_template/.
I don't know if the solutions provided in other answers used to work, but (since there's no accepted answer!) it seems the correct answer is currently:
function my_enqueue_stuff() { if ( get_page_template_slug() == 'landing-page-template-one.php' ) { wp_enqueue_script('my-script-handle', 'script-path.js', ... ); } } add_action( 'wp_enqueue_scripts', 'my_enqueue_stuff' );
is_page_template() only works outside the loop, according to https://developer.wordpress.org/reference/functions/is_page_template/.
-
selon les documentsmentionnés,il [nepeutpas être utilisé à l'intérieur de laboucle] (https://developer.wordpress.org/reference/functions/is_page_template/#cannot-be-used-inside-the-loop)according to the mentioned docs, it [cannot be used inside the loop](https://developer.wordpress.org/reference/functions/is_page_template/#cannot-be-used-inside-the-loop)
- 0
- 2017-02-20
- Selrond
-
* à l'extérieur * de laboucle.c'est ce quej'ai dit ... * rougir **outside* the loop. that's what I said ...*blush*
- 0
- 2017-02-21
- richplane
-
- 2019-05-22
allez dans lefichier function.php puis vérifiez la condition comme ceci:
function temper_scripts() { if(basename(get_page_template()) == 'temper.php'){ wp_enqueue_style('bootstrap', '//stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css'); } } add_action('wp_enqueue_scripts', 'temper_scripts');
Say your template name is temper and you want to load bootstrap on that page so you can enqueue style on specific page templates like this:
go to function.php file then check the condition like this:
function temper_scripts() { if(basename(get_page_template()) == 'temper.php'){ wp_enqueue_style('bootstrap', '//stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css'); } } add_action('wp_enqueue_scripts', 'temper_scripts');
-
- 2020-02-14
Celui-cifonctionneparfaitement.
function my_enqueue_stuff() { // "page-templates/about.php" is the path of the template file. If your template file is in Theme's root folder, then use it as "about.php". if(is_page_template( 'page-templates/about.php' )) { wp_enqueue_script( 'lightgallery-js', get_template_directory_uri() . '/js/lightgallery-all.min.js'); wp_enqueue_script('raventours-picturefill', "https://cdn.jsdelivr.net/picturefill/2.3.1/picturefill.min.js", true, null); } } add_action( 'wp_enqueue_scripts', 'my_enqueue_stuff' );
This one works perfectly.
function my_enqueue_stuff() { // "page-templates/about.php" is the path of the template file. If your template file is in Theme's root folder, then use it as "about.php". if(is_page_template( 'page-templates/about.php' )) { wp_enqueue_script( 'lightgallery-js', get_template_directory_uri() . '/js/lightgallery-all.min.js'); wp_enqueue_script('raventours-picturefill', "https://cdn.jsdelivr.net/picturefill/2.3.1/picturefill.min.js", true, null); } } add_action( 'wp_enqueue_scripts', 'my_enqueue_stuff' );
Je suisen train de créer unthème,je souhaite ajouter despages de destination à l'aide demodèles depage.Jene trouvenullepart quimontre commentmettreen file d'attente le style ou lesjspour desmodèles depage spécifiques.Aucune suggestion. Ex.Landing Page 1 - landing-page-template-one.php aurabesoin d'un styleet dejstrès différents de ceux dublog ou de lapage d'accueil.