Seçenekler’de ayarlanan blog sayfası URL’sini alın


Yanıtlar:


70

Sagive'nin cevabını oluşturmak için, asıl bağlantıyı elde etmek için kimliği get_permalink () içine sarmak isteyeceksiniz.

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

25

WordPress 4.5'ten itibaren kullanabilirsiniz:

get_post_type_archive_link( 'post' );

Bu, yayınların ana sayfada mı yoksa belirli bir sayfada mı gösterildiğinden bağımsız olarak doğru URL’yi alma mantığını ele alır.


4

Permalink'i ayarlamadan önce seçeneği kontrol etmenin en iyi yolu aşağıdaki gibidir:

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

Sen kullanabilirsiniz get_optionait page_for_postsbirine sayfa kimliğini almak için bir değişkene atamayı veya bunu yapmak isterlerse onu yankı.

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

Varsayılan get_option ziyaretiyle ilgili ek bilgi için: Seçenek Başvurusu


1

Hugh Man ile bağlantıyı kurmadan önce seçeneği kontrol etmenin daha iyi olduğunu kabul edin, ancak statik sayfayı ön sayfa olarak ayarlamak ve mesajlar sayfasını boş bırakmak mümkündür. Bu durumda, bağlantı sadece giriş URL'sini gösterecektir. Daha iyi bir yaklaşım, gönderi arşiv sayfasına geri dönüş sağlamaktır. Bunun gibi bir şey:

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( '/' ) );
    }
}

Sen gerekmez ve fonksiyonlarıesc_urlget_permalinkhome_url
Tolea Bivol
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.