$conf, $runtime; function_exists('chdir') AND chdir(APP_PATH); $r = 'mysql' == $conf['cache']['type'] ? website_set('runtime', $runtime) : cache_set('runtime', $runtime); } function runtime_truncate() { global $conf; 'mysql' == $conf['cache']['type'] ? website_set('runtime', '') : cache_delete('runtime'); } register_shutdown_function('runtime_save'); ?>functions - How to include any template using Shortcode fuction?|Programmer puzzle solving
最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

functions - How to include any template using Shortcode fuction?

matteradmin9PV0评论
function custom_code(){
    return include( get_stylesheet_directory() . '/custom-template.php');
}
add_shortcode('custom_shortcode','custom_code');

As you can check above I want to include a template using shortcode how to make it done?

function custom_code(){
    return include( get_stylesheet_directory() . '/custom-template.php');
}
add_shortcode('custom_shortcode','custom_code');

As you can check above I want to include a template using shortcode how to make it done?

Share Improve this question asked Jan 7, 2019 at 9:10 Dharit SoniDharit Soni 1132 silver badges6 bronze badges 1
  • Please check once gist.github/germanny/9420496 – Pratik Patel Commented Jan 7, 2019 at 9:20
Add a comment  | 

1 Answer 1

Reset to default 1

You can't return the include statement. And you shouldn't use include template parts.

And here's how to do it correctly:

function custom_code() {
    ob_start();
    get_template_part( 'custom-template.php' );
    return ob_get_clean();
}
add_shortcode( 'custom_shortcode', 'custom_code' );

So what we're doing here is:

  1. Start output buffering.
  2. Include given template part using get_template_part function.
  3. Return all the output generated by that template and delete the buffer.
Post a comment

comment list (0)

  1. No comments so far