在模板中回显Elementor页面内容,但它没有获得样式,并且缺少一些小部件

时间:2018-07-05 作者:raddevon

我用Elementor创建了一个页面,我想把它用作我的主页。当我使用带有主题的静态主页时,它仍然会被页眉、页脚和内容容器包装,在本例中我不希望这样。

我建立了一个简单的front-page.php 模板,尝试仅输出此页面的内容。

<!DOCTYPE html>
<html <?php language_attributes(); ?> class="no-js no-svg">
    <head>
        <meta charset="<?php bloginfo( \'charset\' ); ?>">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link rel="profile" href="http://gmpg.org/xfn/11">
        <?php wp_head(); ?>
    </head>

    <body <?php body_class(); ?>>
<?php
$page = get_page_by_path( \'home\' );
$content = apply_filters(\'the_content\', $page->post_content); 
echo $content;

get_footer();
?>
  </body>

  <?php wp_footer(); ?>
这可以输出内容,但我没有样式,我的帖子小部件是MIA。如何修改此模板以获得样式,从而显示所有小部件?

2 个回复
SO网友:Maduka Jayalath

Here is the way,

$contentElementor = "";

if (class_exists("\\\\Elementor\\\\Plugin")) {
    $post_ID = 124;
    $pluginElementor = \\Elementor\\Plugin::instance();
    $contentElementor = $pluginElementor->frontend->get_builder_content($post_ID);
}

echo $contentElementor;
SO网友:ttn_

get_builder_content 是内部方法,请使用get_builder_content_for_display().

$frontend = new \\Elementor\\Frontend();
$page_id  = 100;

echo $frontend->get_builder_content_for_display( $page_id, $with_css = true );

结束

相关推荐

Custom templates vs page-slug

我目前一直在使用slug来设置页面模板,使用普通的层次结构例如,如果我想更改的页面模板http://www.example.com/about-us, 我会编辑关于我们的页面。php如果客户端要去更改页面slug,它将不再加载正确的模板。在WordPress后端使用“自定义模板”下拉列表是否更好?就这一点而言,最佳做法是什么?非常感谢