简体   繁体   中英

Wordpress shortcode return another php page

My custom wordpress plugin shortcode is working when I just return something. But I want to return another php page, which includes html.

This is my map.php

<?php 
function example($map){
    echo "Hello!"; 
    }
?>


I've tried like this

add_shortcode( 'map_shortcode', 'map_shortcode' );
function map_shortcode() {
    wp_enqueue_style( 'my-css' );
    wp_enqueue_style( 'meyer-reset' );
    wp_enqueue_style( 'tooltipster-bundle' );
    wp_enqueue_script( 'mypluginscript' );

    return $map;}
?>

I mean the shortcode works; when I tried just a simple string like 'abc' it showed, so it works, but I want to show the other page on the return function.

To show an HTML view using WordPress shortcode, you can use ob_start() and ob_get_clean() functions.

https://www.php.net/manual/en/function.ob-start.php
https://www.php.net/manual/en/function.ob-get-clean.php

<?php
function map_shortcode() {

    ob_start();
    ?>  

    <!-- Your HTML codes here ...  -->

    <?php
    return ob_get_clean();
}
add_shortcode("map_shortcode", "map_shortcode");
?>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM