php 为什么shorcode显示在前端,但Elementor没有加载它?

7gcisfzg  于 2023-05-16  发布在  PHP
关注(0)|答案(1)|浏览(99)

我有这个短代码,这是正常的,它的前端显示良好。

<?php

add_shortcode('slider-vehicules', 'slider_vehicules_shortcode');
function slider_vehicules_shortcode(){
    ob_start();
    ?>
    <div class="slider-vehicules">
    <?php

    $args = array(
        'post_type' => 'vehicules',
        'post_status' => 'publish',
        'posts_per_page' => -1,
        'orderby' => 'date',
        'order' => 'ASC'
    );

    $the_query = new WP_Query( $args );

    if ( $the_query->have_posts() ) {
        while ( $the_query->have_posts() ) : $the_query->the_post();
            echo '<h3>'.get_the_title().'</h3>';
        endwhile;
    }

    ?>
    </div>
    <?php
    return ob_get_clean();

当我试图打开我放短码的页面时,我得到了这个错误。

有人知道怎么解决吗?
谢谢你!

deikduxw

deikduxw1#

请参阅此页:https://elementor.com/help/the-content-area-was-not-found-error/
此错误消息通常出现在以下情况中:

- When Trying to edit an archive page without creating an archive template / not editing through the archive template.
- When using an incompatible theme or plugin
- When the website URL and home page URL are not the same

页面继续,声明我们需要确定这是发生在所有页面上还是只发生在特定页面上

摘要

正如错误消息所告诉您的那样,模板需要根据the_content()调用一个期望值。这是一个正常的期望,因为如果缺少内容,显示框架就没有多大用处。因此,您需要在某个地方调用此函数,Elementor的神奇功能确保它被调用。然而,如果模板以某种方式被损坏(一个不熟悉的程序员可能有一个想法来改进它),或者您创建了一个自定义模板,那么可能对这个函数的调用没有被添加,没有正确添加,甚至被删除。也有可能它只被有条件地调用(例如,当您只向登录用户或高权限用户显示内容时),因此当不满足这样的条件时,您会得到此错误。简而言之:您需要查找错过调用此函数的原因,并使用一些Elementor(UI或其他)功能来使用它,或者查看代码并调用此函数。

相关问题