Obtenga la URL de la página del blog establecida en Opciones


Respuestas:


70

Para construir sobre la respuesta de Sagive, querrá ajustar la ID en get_permalink () para obtener el enlace real.

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

25

A partir de WordPress 4.5 puede usar:

get_post_type_archive_link( 'post' );

Esto maneja la lógica de obtener la URL correcta independientemente de si las publicaciones se muestran en la página de inicio o en una página específica.


4

La mejor manera de verificar la opción antes de configurar el enlace permanente es la siguiente:

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

Se puede utilizar get_optionde page_for_postsobtener el ID de página a asignarlo a una variable o hacerse eco de que si desea hacerlo.

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

Para obtener información adicional sobre la visita get_option de defualt: Referencia de opciones


1

De acuerdo con Hugh Man en que es mejor marcar la opción antes de hacer eco del enlace, pero es posible configurar la página estática como página principal y dejar la página de publicaciones vacía. En este caso, el enlace solo apuntará a la URL de inicio. Un mejor enfoque es proporcionar un respaldo a la página de archivo de publicaciones. Algo como esto:

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

Usted no tiene que esc_urllos get_permalinky home_urllas funciones
Tolea Bivol
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.