将 Elementor 模板添加到第二个查询

Add Elementor Template to Second Query

提问人:saeon 提问时间:10/27/2023 更新时间:10/27/2023 访问量:12

问:

我正在使用 get_posts 获取第二个帖子数组,并将其添加到主查询中,它显示良好(add_adverts_to_loop)......而且我似乎无法加载此查询的 elementor 循环模板。我也尝试过query_posts,WP_Query,但无法正确。我想问一下是否有可能像所示的两种方式一样做到这一点?

谢谢。

查询工作正常,但未添加模板。

'add_filter( 'the_posts', 'add_adverts_to_loop', 10, 2 ); 函数 add_adverts_to_loop( $posts, $query ) {

if ( is_admin() ) { return $posts;  }
if ( ! is_main_query() ) { return $posts; }

$freq = 5;

$args = array(
  'post_type' => 'advert',
);

$recipes = get_posts( $args );
if ( $recipes ) {

    $insert = -1;

$template_id = 788; // template ID elementor
$elementor_instance = \Elementor\Plugin::instance();
$elementor_instance->frontend->register_styles();
$elementor_instance->frontend->enqueue_styles();

    foreach ( $recipes as $recipe ) {

        $querr = $elementor_instance->frontend->get_builder_content_for_display($template_id); // not working

        $insert = $insert + ( $freq + 1 );
        array_splice( $posts, $insert, 0, array( $recipe ) );
    }
wp_reset_query();
}
return $posts;

}

add_filter( 'posts_results', 'my_posts_results_filter' ); 函数 my_posts_results_filter( $posts ) {

if ( is_admin() ) { return $posts;  }
if ( ! is_main_query() ) { return $posts; }

$filtered_posts = array();

foreach ( $posts as $post ) {
    if ( $post->post_type=='advert' ) {
        $template_id = 788; // template ID elementor
        $elementor_instance = \Elementor\Plugin::instance();
        $elementor_instance->frontend->register_styles();
        $elementor_instance->frontend->enqueue_styles();

        $filtered_posts[] = \Elementor\Plugin::instance()->frontend->get_builder_content_for_display($template_id);
    } else {
    $filtered_posts[] = $post;
    }
}
return $filtered_posts;

}`

WordPress 模板 Elementor

评论


答: 暂无答案