Holen Sie sich die URL der Blog-Seite in den Optionen


Antworten:


70

Um auf Sagives Antwort aufzubauen, müssen Sie die ID in get_permalink () einschließen, um den tatsächlichen Link zu erhalten.

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

25

Ab WordPress 4.5 können Sie verwenden:

get_post_type_archive_link( 'post' );

Dies übernimmt die Logik, die richtige URL abzurufen, unabhängig davon, ob Beiträge auf der Startseite oder auf einer bestimmten Seite angezeigt werden.


4

Die beste Möglichkeit, die Option vor dem Festlegen des Permalinks zu aktivieren, ist folgende:

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>';
}

3

Sie können get_optionof verwenden page_for_posts, um die Seiten-ID abzurufen, um sie entweder einer Variablen zuzuweisen oder zu wiederholen, wenn Sie dies möchten.

<?php $postsPageId = get_option('page_for_posts'); ?>
<a href="index.php?p=<?php echo $postsPageId; ?>">Our Blog</a>

Weitere Informationen des defualt get_option Besuch: Option Referenz


1

Stimmen Sie dem Hugh Man zu, dass es besser ist, die Option zu aktivieren, bevor Sie den Link wiedergeben. Es ist jedoch möglich, die statische Seite als Startseite festzulegen und die Postseite leer zu lassen. In diesem Fall verweist der Link nur auf die Home-URL. Ein besserer Ansatz ist es, einen Fallback auf die Seite mit dem Beitragsarchiv bereitzustellen. Etwas 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( '/' ) );
    }
}

Sie müssen nicht esc_urldie get_permalinkund home_urlFunktionen
Tolea Bivol
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.