Con esta función podemos usar una página de wordpress como una especie de fichero de inclusión o include php, esto lo conseguimos con el uso de shortcodes nativo de wordpress.

Además nos sirve para utilizarlo de manera dinámica en tantas partes y con tantas páginas (tipo include) como queramos.

Código en fichero de theme activo functions.php:
function shortcode_page_content_slug( $atts ) {
    $atts = shortcode_atts( array(
        'slug' => ''
    ), $atts );

    if ( empty( $atts['slug'] ) ) {
        return false;
    }

    $page = get_page_by_path( sanitize_title( $atts['slug'] ) );

    if ( ! $page ) {
        return false;
    }

    return apply_filters( 'the_content', $page->post_content );
}

add_shortcode( 'page_by_slug', 'shortcode_page_content_slug' );
Mostrar contenido de la página obtenido por slug:
<?php echo do_shortcode('[page_by_slug slug="slug-pagina"]'); ?>
Como se puede apreciar en esta última linea, hay que pasarle el slug o url-seo de la pagina previamente creada en paginas->worpdress.

Ahora todo el contenido que tengamos dentro de esa pagina se imprimirá mediante php en nuestro theme.
1
Puntos
144
Visitas
2
Resp
Por alber hace 1 mes
Admin
Respuesta #1
variaciones:
function shortcode_page_content_slug( $atts ) {
    $atts = shortcode_atts( array(
        'slug' => ''
    ), $atts );

    if ( empty( $atts['slug'] ) ) {
        return 'se necesita un slug';
    }

    $page = get_page_by_path( sanitize_title( $atts['slug'] ) );

    if ( ! $page ) {
        return 'página no encontrada';
    }

    return apply_filters( 'the_content', $page->post_content );
}

add_shortcode( 'page_by_slug', 'shortcode_page_content_slug' );
0
Puntos
Por alber hace 1 mes
Admin
Respuesta #2
q buena esa bro, saludos
0
Puntos
Por proelite hace 1 mes
Novice
Para comentar Inicia sesión o Regístrate
Phpres 2025@ All rights reserved.
Utilizamos cookies para mejorar la navegación en el sitio. Más información Aceptar