Blogu, ana sayfadan farklı bir sayfa olarak ayarladım.
Single.php adresinden bu blog sayfasına bağlantı vermek istiyorum.
Blog için URL’yi çıkaran herhangi bir işlev var mı?
Blogu, ana sayfadan farklı bir sayfa olarak ayarladım.
Single.php adresinden bu blog sayfasına bağlantı vermek istiyorum.
Blog için URL’yi çıkaran herhangi bir işlev var mı?
Yanıtlar:
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>
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.
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>';
}
Sen kullanabilirsiniz get_option
ait page_for_posts
birine 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
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( '/' ) );
}
}
esc_url
get_permalink
home_url