Page de modèle de retour HTML avec fonction PHP
-
-
Ehbien,pour commencer,vous POUVEZ écrire du HTMLbrut dans unfichier PHP.Vous devezensuite écrire unefonction dans votre `functions.php` quinécessite/inclut cefichier,et aumoyen de` add_shortcode () `configurer le shortcode souhaitépour appeler votrefonction.Well, for starters, you CAN write plain HTML in a PHP file. You then have to write a function in your `functions.php` that requires/includes this certain file, and by means of `add_shortcode()` set up your desired shortcode to call your function.
- 0
- 2013-03-08
- tfrommen
-
2 réponses
- votes
-
- 2013-03-08
Quelque chose quej'ai oublié dansmon commentaireprécédent était que les shortcodes renvoient du contenu,à lafois le
include
suggéréet mon alternativeget_template_part
affichera directement le contenu (c'est ce que vous voyez avec le contenu apparaissanten haut de votrepage au lieu de l'endroit où le shortcodeest appelé). Pour contrer cela,nous devons utiliser la miseen mémoiretampon de sortie .Définissez le shortcode dans votrefunctions.php (ou le site de votre site -fichier desfonctions spécifiques ).
function my_form_shortcode() { ob_start(); get_template_part('my_form_template'); return ob_get_clean(); } add_shortcode( 'my_form_shortcode', 'my_form_shortcode' );
Ensuite,dans votre dossier dethème,vous avezbesoin d'unfichier appelé
my_form_template.php
qui sera chargépartout où vousplacez le shortcode.Something I forgot in my previous comment was that shortcodes return content, both the suggested
include
and my alternativeget_template_part
will directly output the content (which is what you are seeing with the content appearing at the top of your page instead of where the shortcode is called). To counteract this we must use output buffering.Define the shortcode in your functions.php (or your site's site-specific functions file).
function my_form_shortcode() { ob_start(); get_template_part('my_form_template'); return ob_get_clean(); } add_shortcode( 'my_form_shortcode', 'my_form_shortcode' );
Then in your theme folder you need a file called
my_form_template.php
which will be loaded anywhere you place the shortcode.-
Parfait!Celafonctionne àmerveille!Perfect! This works fabulously!
- 0
- 2013-03-08
- William
-
Si vousessayez defaire lamême chose dans unplugin,vous devez utiliserinclude.Voir http://wordpress.stackexchange.com/a/124794/75817If you try to do the same within a plugin you need to use include. See http://wordpress.stackexchange.com/a/124794/75817
- 0
- 2015-07-08
- patrics
-
Wow ...m'a sauvé lajournée ... codegénialWow...saved my day..awesome code
- 0
- 2017-10-12
- dipak_pusti
-
- 2013-03-08
Ajoutez ce qui suit à votre functions.php :
function my_form_shortcode() { include dirname( __FILE__ ) . 'my_form_template.php'; } // function my_form_shortcode add_shortcode( 'my_form_shortcode', 'my_form_shortcode' );
Fichier my_form_template.php :
<?php // Template for my form shortcode ?> <form ...> FIELDS </form>
Add the following to your functions.php:
function my_form_shortcode() { include dirname( __FILE__ ) . 'my_form_template.php'; } // function my_form_shortcode add_shortcode( 'my_form_shortcode', 'my_form_shortcode' );
File my_form_template.php:
<?php // Template for my form shortcode ?> <form ...> FIELDS </form>
-
Vouspouvez également utiliser `get_template_part ()` dans votrefonction shortcode.You could also use `get_template_part()` inside your shortcode function.
- 1
- 2013-03-08
- helgatheviking
-
J'aiessayé d'implémenter la solution de @tf -j'ai ajouté unemise àjour àmon article à ce sujetI tried implementing @t f's solution - I added an update to my post about it
- 0
- 2013-03-08
- William
-
@helgatheviking - commentfonctionne cettefonction?@helgatheviking - how does that function work?
- 0
- 2013-03-08
- William
-
Voir le codexpour une description de [get_template_part ()] (http://codex.wordpress.org/Function_Reference/get_template_part)et voirma réponsepour savoir comment l'utiliseren conjonction avec votre shortcode.See the codex for a description of [get_template_part()](http://codex.wordpress.org/Function_Reference/get_template_part) and see my answer for how to use it in conjunction with your shortcode.
- 0
- 2013-03-08
- helgatheviking
Je souhaite créer unformulaire queje peux utiliser un shortcode àinsérer dansmon site.
Ce serait vraimentbien sije pouvais créer lapartie HTML dans unfichier séparé,puis l'insérer avec un shortcode PHP (pour séparer la logique de lapage de lamécaniquepouren faire un shortcode).
Commentpourrais-jefaire cela?
- Mettre àjour -
Voici ce quej'aifait: J'ai deuxfichiers. L'un appelé «profiletemplate.php»et l'autre appelé «scodes». Ilsfonttous deuxpartie d'unplugin queje créepourmon site avec uninit.php qui lesinitialise. Voici leur contenu:
<❯init.php
<❯profiletemplate.php
J'utiliseensuite le shortcode [testfield] sur unepage demon site.
Mise àjour 2
Donc,cetteméthodefonctionne,maisellen'insèrepas le HTML là où le shortcodeest appelé. Au lieu de cela,ilinsère simplement le contenuen haut de lapage (comme sije disais 'echo' Testing '' au lieu de 'return' Testing '' dans unefonction.