web-dev-qa-db-fra.com

Comment insérer correctement un lien vers un modèle dans WordPress?

Je suis habitué à créer des sites Web en dehors de Wordpress en utilisant simplement HTML, CSS et JS. Normalement, si je veux créer un lien vers une page, about-us.html, j'ajoute simplement:

<a href="/about-us.html">About Us</a>

J'ai un modèle basé sur HTML que j'ai converti en thème wordpress via FTP. Si je veux accomplir la même chose, suis-je censé faire référence à propos de nous-php comme:

<a href="/about-us.php">About Us</a>

Où about-us.php est:

<?php
/**
 * Template Name: About Us
 *
 * @package WordPress
 * @subpackage Besa
 * @since Besa HTML5 3.0
 */

get_header(); ?>

<?php include('/about.html');?>

<?php get_footer(); ?>

Est-ce tout ce qui est nécessaire? Devrais-je copier et coller le code HTML au lieu d'utiliser l'instruction include? Dois-je créer une nouvelle page dans l'éditeur wordpress? Dois-je sélectionner un modèle d'attribut PAge, et si oui pourquoi?

Merci!

EDIT: Lorsque j'essaie ma méthode, je viens juste de recevoir une erreur "Erreur fatale: appel de la fonction non définie get_header () dans /home/besa/public_html/about-us.php à la ligne 10"

1
Matthew Sirkin

WordPress ne fonctionne pas de cette façon. Dans WordPress, aucune des publications ou pages que vous visitez actuellement n’existe nulle part sur le disque. Le contenu est extrait de la base de données, puis les fichiers de modèle sont remplis et envoyés au navigateur.

Dans votre cas, vous devez créer un nom de fichier about-us.php au lieu de about-us.html, puis l'inclure dans votre modèle en utilisant ceci:

get_template_part('path/to/this/file/about-us.php');

Vous pourrez maintenant créer une page à partir du panneau d'administration et utiliser ce fichier comme modèle.

En ce qui concerne vos questions sur les liens ... Encore une fois, vous ne devriez pas créer de lien direct vers un fichier PHP, car cela ne fonctionnera tout simplement pas. Si vous accédez directement à un fichier PHP, il ne charge pas le moteur de WordPress lors de son chargement.

Pour ce faire, vous devez utiliser la limace. Créez une page, écrivez son slug, puis créez un lien dynamique dans votre modèle PHP comme ceci:

<?php echo site_url('/some-path/slug-goes-here'); ?>

La fonction ci-dessus ajoute append /some-path/slug-goes-here à l'URL de votre site et le renvoie, ce qui constituerait le lien de votre page.

1
Jack Johansson