Obtenez l'URL de la page de blog définie dans Options
5 réponses
- votes
-
- 2012-04-28
Pour construire sur la réponse de Sagive,vous voudrezenvelopper l'ID dansget_permalink ()pour obtenir le lien réel.
<a href="<?php echo get_permalink( get_option( 'page_for_posts' ) ); ?>">Our Blog</a>
To build on Sagive's answer, you'll want to wrap the ID in get_permalink() to get the actual link.
<a href="<?php echo get_permalink( get_option( 'page_for_posts' ) ); ?>">Our Blog</a>
-
- 2017-04-03
Àpartir de WordPress 4.5,vouspouvez utiliser:
get_post_type_archive_link( 'post' );
Celagère la logique d'obtention de l'URL correcte,que lesmessages apparaissent sur lapage d'accueil ou dans unepage spécifiée.
As of WordPress 4.5 you can use:
get_post_type_archive_link( 'post' );
This handles the logic of getting the correct URL regardless of whether posts show up on the homepage or in a specified page.
-
- 2016-05-02
Lameilleurefaçon de vérifier l'option avant de définir lepermalienest la suivante:
if ( get_option( 'page_for_posts' ) ) { echo '<a href="'.esc_url(get_permalink( get_option( 'page_for_posts' ) )).'">'.esc_html__( 'Blog', 'textdomain' ).'</a>'; } else { echo '<a href="'.esc_url( home_url( '/' ) ).'">'.esc_html__( 'Blog', 'textdomain' ).'</a>'; }
Best way to check the option before setting the permalink is as follows:
if ( get_option( 'page_for_posts' ) ) { echo '<a href="'.esc_url(get_permalink( get_option( 'page_for_posts' ) )).'">'.esc_html__( 'Blog', 'textdomain' ).'</a>'; } else { echo '<a href="'.esc_url( home_url( '/' ) ).'">'.esc_html__( 'Blog', 'textdomain' ).'</a>'; }
-
- 2012-04-28
Vouspouvez utiliser
get_option
depage_for_posts
pour obtenir l'ID de lapage afin de l'attribuer à une variable ou de luifaire écho si vous le souhaitez.<?php $postsPageId = get_option('page_for_posts'); ?> <a href="index.php?p=<?php echo $postsPageId; ?>">Our Blog</a>
Pourplus d'informations sur l'optionget_optionpar défaut,visitez: Référence des options
You can use
get_option
ofpage_for_posts
to get the page ID to either assign it to a variable or to echo it if you wish to do so.<?php $postsPageId = get_option('page_for_posts'); ?> <a href="index.php?p=<?php echo $postsPageId; ?>">Our Blog</a>
For additional information of the defualt get_option visit: Option Reference
-
- 2016-06-07
D'accord avec Hugh Man,ilestpréférable de cocher l'option avant defaire écho au lien,maisilestpossible de définir lapage statique commepage d'accueilet de laisser lapage des articles vide.Dans ce cas,le lienpointera simplement vers l'URL d'accueil.Unemeilleure approche consiste àfournir une solution de secours à lapage d'archive des articles.Quelque chose comme ça:
function slug_all_posts_link() { if ( 'page' == get_option( 'show_on_front' ) ) { if ( get_option( 'page_for_posts' ) ) { echo esc_url( get_permalink( get_option( 'page_for_posts' ) ) ); } else { echo esc_url( home_url( '/?post_type=post' ) ); } } else { echo esc_url( home_url( '/' ) ); } }
Agree with the Hugh Man that it is better to check the option before echoing the link, but it is possible to set the static page as a front page and leave the posts page empty. In this case, the link will just point to the home URL. A better approach is to provide a fallback to the posts archive page. Something like this:
function slug_all_posts_link() { if ( 'page' == get_option( 'show_on_front' ) ) { if ( get_option( 'page_for_posts' ) ) { echo esc_url( get_permalink( get_option( 'page_for_posts' ) ) ); } else { echo esc_url( home_url( '/?post_type=post' ) ); } } else { echo esc_url( home_url( '/' ) ); } }
-
Vousn'avezpasbesoin de `esc_url` lesfonctions`get_permalink`et `home_url`You don't have to `esc_url` the `get_permalink` and `home_url` functions
- 0
- 2017-04-07
- Tolea Bivol
J'ai défini leblog comme unepage différente de lapage d'accueil.
Je souhaite avoir un lien de single.php vers cettepage deblog.
Existe-t-il unefonction quiextrait l'URL dublog?