Rufen Sie die URL der Blog-Seite ab, die unter Optionen
5 Antworten
- Stimmen
-
- 2012-04-28
Um auf Sagives Antwort aufzubauen,sollten Sie die IDin get_permalink ()einschließen,um dentatsächlichen Link zuerhalten.
<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
Ab WordPress 4.5 können Sie Folgendes verwenden:
get_post_type_archive_link( 'post' );
Hiermit wird die Logik zum Abrufen der richtigen URLbehandelt,unabhängig davon,ob Beiträge auf der Startseite oder aufeinerbestimmten Seite angezeigt werden.
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
Ambesten überprüfen Sie die Option,bevor Sie den Permalinkfestlegen:
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
Sie können
get_option
vonpage_for_posts
verwenden,um die Seiten-ID abzurufen,um sieentwedereiner Variablen zuzuweisen oder um sie zu wiederholen,wenn Sie diesmöchten.<?php $postsPageId = get_option('page_for_posts'); ?> <a href="index.php?p=<?php echo $postsPageId; ?>">Our Blog</a>
Weitere Informationen zur defualtget_optionfinden Sie unter: Optionsreferenz
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
Stimmen Sie dem Hugh Man zu,dassesbesserist,die Option zu aktivieren,bevor Sie den Link wiederholen. Esistjedochmöglich,die statische Seite als Startseitefestzulegen und die Postseite leer zu lassen.In diesem Fall verweist der Linknur auf die Home-URL.Einbesserer Ansatzbesteht darin,einen Fallbackfür die Archivseite des Beitragsbereitzustellen.Soetwas wie das:
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( '/' ) ); } }
-
Siemüssen die Funktionen "get_permalink" und "home_url"nicht "esc_url" ausführenYou don't have to `esc_url` the `get_permalink` and `home_url` functions
- 0
- 2017-04-07
- Tolea Bivol
Ich habefestgelegt,dass das Blogeine andere Seite als die Startseiteist.
Ichmöchteeinen Link von single.php zu dieser Blog-Seite haben.
Gibteseine Funktion,die die URLfür das Blog abruft?