Je veux créer une page personnalisée pour mon blog WordPress qui y exécutera mon code PHP, tout en restant une partie de l'ensemble du site CSS / thème / design.
Le code PHP utilisera des API tierces (j'ai donc besoin d'inclure d'autres fichiers PHP).
Comment est-ce que j'accomplis ceci?
NB: Je n'ai pas de besoin spécifique d'interagir avec l'API WordPress - à part inclure certaines autres bibliothèques PHP, j'ai besoin de n'avoir aucune autre dépendance dans le code PHP que je souhaite inclure dans une page WordPress. Donc, évidemment, toute solution ne nécessitant pas l'apprentissage de l'API WordPress serait la meilleure.
Réponses:
Vous n'avez pas besoin d'interagir avec l'API ou d'utiliser un plugin.
Tout d'abord, dupliquez
post.php
oupage.php
dans votre dossier de thème (sous/wp-content/themes/themename/
).Renommez le nouveau fichier en
templatename.php
(où templatename est ce que vous voulez appeler votre nouveau modèle). Pour ajouter votre nouveau modèle à la liste des modèles disponibles, entrez ce qui suit en haut du nouveau fichier:Vous pouvez modifier ce fichier (en utilisant PHP) pour inclure d'autres fichiers ou tout ce dont vous avez besoin.
Créez ensuite une nouvelle page dans votre blog WordPress, et dans l'écran d'édition de page, vous verrez une liste déroulante Modèle dans le widget Attributs à droite. Sélectionnez votre nouveau modèle et publiez la page.
Votre nouvelle page utilisera le code PHP défini dans
templatename.php
Source: création de modèles de page personnalisés pour une utilisation globale
la source
Si vous vouliez créer votre propre fichier .php et interagir avec WordPress sans en-têtes 404 et conserver votre structure de permalien actuelle, il n'y a pas besoin avoir un fichier modèle pour cette seule page.
J'ai trouvé que cette approche fonctionne mieux, dans votre fichier .php:
Ensuite, vous pouvez simplement effectuer toutes les fonctions WordPress après cela. En outre, cela suppose que votre fichier .php se trouve à la racine de votre site WordPress où votre
wp-config.php
se trouve fichier.C'est, pour moi, une découverte inestimable car j'utilisais
require_once(dirname(__FILE__) . '/wp-blog-header.php');
depuis le plus longtemps car WordPress vous dit même que c'est l'approche que vous devez utiliser pour intégrer les fonctions WordPress, sauf que cela provoque 404 en-têtes, ce qui est étrange qu'ils voudraient vous d'utiliser cette approche. Intégrer WordPress à votre site WebJe sais que beaucoup de gens ont répondu à cette question, et elle a déjà une réponse acceptée, mais voici une belle approche pour un fichier .php à la racine de votre site WordPress (ou techniquement n'importe où dans votre site), que vous pouvez parcourir et chargez sans 404 en-têtes!
Mise à jour: Il existe un moyen d'utiliser
wp-blog-header.php
sans 404 en-têtes, mais cela nécessite que vous ajoutiez les en-têtes manuellement. Quelque chose comme ça fonctionnera à la racine de votre installation WordPress:Juste pour vous mettre à jour sur tout cela, un peu moins de code nécessaire pour cette approche, mais c'est à vous de choisir celui que vous utilisez.
la source
wp-activate.php
doit désactiver l'en-tête 404 en le définissant$wp_query->is_404 = false
lors de l'activation de nouveaux multisites enrequire( dirname( __FILE__ ) . '/wp-blog-header.php' );
haut de cette page.wp-blog-header.php
approche définie sur codex.wordpress.org/Integrating_WordPress_with_Your_Website que voyez l'en-tête 404 dans les outils d'inspection de votre navigateur.Si vous êtes comme moi, vous voulez parfois pouvoir référencer des fonctions WordPress dans une page qui n'existe pas dans le CMS. De cette façon, il reste spécifique au backend et ne peut pas être supprimé accidentellement par le client.
C'est en fait simple à faire simplement en incluant le
wp-blog-header.php
fichier en utilisant un PHPrequire()
.Voici un exemple qui utilise une chaîne de requête pour générer Facebook Open Graph (OG) pour n'importe quelle publication.
Prenons l'exemple d'un lien comme
http://example.com/yourfilename.php?1
où1
est l'ID d'un article pour lequel nous voulons générer des données OG:Maintenant, dans le contenu
yourfilename.php
dont, pour notre commodité, se trouve dans le répertoire racine de WordPress:Voilà, vous avez généré des modèles de partage pour n'importe quel article en utilisant l'image, l'extrait et le titre réels de l'article!
Nous aurions pu créer un modèle spécial et modifier la structure du permalien pour ce faire, mais comme il n'est nécessaire que pour une page et parce que nous ne voulons pas que le client le supprime du CMS, cela semblait être l'option la plus propre.
EDIT 2017: veuillez noter que cette approche est désormais déconseillée
Pour les installations WordPress à partir de 2016+, veuillez consulter Comment puis-je ajouter une page PHP à WordPress? pour des paramètres supplémentaires à inclure avant la sortie des données de votre page vers le navigateur.
la source
La création de la page de modèle est la bonne réponse. Pour cela, ajoutez simplement ceci dans la page que vous avez créée dans le dossier du thème:
Pour exécuter ce code, vous devez sélectionner "mytemplate" comme modèle de page depuis le back-end.
Veuillez consulter ce lien pour obtenir les détails corrects https://developer.wordpress.org/themes/template-files-section/page-template-files/ .
la source
Aucune réponse ne couvrait si vous devez ajouter une page PHP en dehors du thème WordPress. Ceci est le chemin.
Vous devez inclure wp-load.php.
Ensuite, vous pouvez utiliser n'importe quelle fonction WordPress sur cette page.
la source
require_once('wp-load.php');
correcteCréez une page appelez-la my-page.php et enregistrez-la sous votre répertoire de thèmes. Maintenant, éditez ce fichier php et écrivez la ligne suivante en haut de la page
Écrivez votre code PHP sous la ligne de définition de page personnalisée, vous pouvez appeler votre autre modèle WP, des fonctions à l'intérieur de ce fichier.
Commencez comme
<?php require_once("header.php");?>
OUquelle que soit la façon dont vous intégrez votre en-tête et pied de page pour garder la mise en page cohérente.
Comme il s'agit d'une page ma, vous devez créer une page à partir du panneau d'administration WordPress. Allez dans Admin => Pages => Ajouter un nouveau
Ajoutez un titre de page, selon la façon dont vous avez codé la page personnalisée, vous pouvez également ajouter le corps de la page (description). Vous pouvez ignorer complètement la description si elle est écrite dans la page php personnalisée.
À droite, sélectionnez Modèle. Choisissez Ma page personnalisée dans la liste déroulante. Vous êtes prêt! Accédez au slug (permalien) créé par [wordpress] [1] et consultez la page.
la source
La meilleure façon d'ajouter des pages PHP dans WordPress
Page Template
dans lechild-theme
dossier.Comment créer
Page Template
dans WordPress.Créez un fichier nommé
template-custom.php
et insérez-le/wp-content/theme/my-theme/
.Pour plus de détails
la source
Vous voudrez jeter un œil à l'API de plugin de WordPress.
Cela explique comment «accrocher» et «filtrer» différentes parties de la mécanique WordPress, de sorte que vous pouvez exécuter du code PHP personnalisé à peu près n'importe où à tout moment. Ce raccordement, le filtrage et la création de code personnalisé peuvent tous avoir lieu dans votre fichier functions.php dans n'importe lequel de vos thèmes. Bon codage :)
la source
Si vous ne voulez pas traiter avec l'API WordPress, la réponse d'Adam est vraiment la meilleure.
Si vous vouliez traiter avec l'API, je vous suggère de vous connecter au crochet "template-redirect", qui vous permettrait de pointer une URL ou une page particulière vers un fichier PHP arbitraire tout en ayant accès à WordPress.
la source
La réponse largement acceptée par Adam Hopkinson n'est pas une méthode entièrement automatisée de création d'une page! Il nécessite qu'un utilisateur crée manuellement une page dans le back-end de WordPress (dans le tableau de bord wp-admin). Le problème, c'est qu'un bon plugin devrait avoir une configuration entièrement automatisée. Il ne doit pas obliger les clients à créer manuellement des pages.
En outre, certaines des autres réponses largement acceptées ici impliquent la création d'une page statique en dehors de WordPress, qui n'inclut alors qu'une partie des fonctionnalités de WordPress pour atteindre l'en-tête et le pied de page thématiques. Bien que cette méthode puisse fonctionner dans certains cas, cela peut rendre l'intégration de ces pages avec WordPress très difficile sans avoir toutes ses fonctionnalités incluses.
Je pense que la meilleure approche, entièrement automatisée, serait de créer une page en utilisant
wp_insert_post
et de la faire résider dans la base de données. Un exemple et une grande discussion à ce sujet, et comment empêcher la suppression accidentelle de la page par un utilisateur, peuvent être trouvés ici: wordpress-automatically-creation-pageFranchement, je suis surpris que cette approche n'ait pas déjà été mentionnée comme réponse à cette question populaire (elle est affichée depuis 7 ans).
la source
Essaye ça:
la source
Outre la création d'un fichier de modèle personnalisé et l'attribution de ce modèle à une page (comme dans l'exemple de la réponse acceptée), il existe également un moyen avec la convention de dénomination des modèles que WordPress utilise pour charger les modèles (hiérarchie des modèles).
Créez une nouvelle page et utilisez le slug de cette page pour le nom de fichier du modèle (créez un fichier de modèle nommé page- {slug} .php ). WordPress chargera automatiquement le modèle qui correspond à cette règle.
la source
Il suffit de créer un
page-mytitle.php
fichier dans le dossier du thème actuel, et depuis le Dashboard une page "mytitle" .Ensuite, lorsque vous appelez la page par l'URL, vous allez voir la page-mytitle.php. Vous devez ajouter HTML, CSS, JavaScript, wp-loop, etc. à ce fichier PHP (
page-mytitle.php
).la source
la source
la source
Vous pouvez nommer votre fichier "newpage.php" - placez-le dans votre répertoire de thème dans
wp-content
. Vous pouvez en faire un modèle de page (voir http://codex.wordpress.org/Pages .. ) Ou vous pouvez l'inclure dans l'un des fichiers PHP de votre thème, comme header.php ou single.php.Encore mieux, créez un thème enfant et placez-le dedans, donc vous laissez votre code de thème seul, et c'est plus facile à mettre à jour.
http://codex.wordpress.org/Pages#Creating_Your_Own_Page_Templates
la source
Vous pouvez également utiliser directement la page PHP, comme pour créer la page PHP et l'exécuter avec le chemin complet.
Comme, http: //localhost/path/filename.php
la source