web-dev-qa-db-fra.com

Comment écrire le lien de front-page.php à home.php?

Désolé pour cela, mais j'ai vraiment passé au peigne fin tout ce qu'il y a sur le sujet et je ne peux pas venir à la solution, même si c'est probablement très simple:

J'ai un front-page.php défini comme page de couverture statique du site WordPress. Il y a un lien que je voudrais lier au home.php ou index.php.

Comment puis-je écrire l'URL?

<a  href='<?php echo esc_url( home_url()); ?>' title='<?php echo esc_attr( get_bloginfo( 'title' ) ); ?>' rel='home'> 

Qu'est-ce que j'écris au lieu de home_url () , ce qui me fait bien sûr sur le front-page.php?

Merci beaucoup pour votre aide!

1
furby

Il devrait vraiment y avoir un moyen plus simple de le faire, mais vous devez en quelque sorte savoir que WordPress stocke à la fois l’ID de la page d'accueil et celui de la page de blog dans le tableau des options. Donc, pour obtenir l'URL du blog, vous devez utiliser à la fois get_permalink() et get_option() en conjonction.

<a href='<?php echo esc_url( get_permalink( get_option( 'page_for_posts' ) ) ); ?>' title='<?php echo esc_attr( get_bloginfo( 'title' ) ); ?>' rel='home'>Blog Page</a>

Ce qui précède va récupérer la valeur page_for_posts de la table d’options qui contient l’ID de page du blog qui doit être défini dans Settings -> Readings. En passant un ID à get_permalink(), il retournera l'URL de la chaîne dont nous avons besoin pour la page.

1
Howdy_McGee

Eh bien, pour terminer cette question, tout d’abord - merci, @Howdy_McGee! Vous étiez sur la bonne voie, et la solution qui fonctionne est

<a href="<?php echo get_permalink( get_option( 'page_for_posts' ) ); ?>">Blog Page</a>

Le esc_url ne fait pas le travail ici. Je ne suis pas aussi apte d'un développeur à savoir pourquoi, même si j'aimerais bien. Merci encore!

0
furby