Сделать шорткод php при загрузке страницы

У меня есть шорткод, который требует времени для возврата всех запросов и, следовательно, замедляет загрузку страницы. Я хочу загрузить страницу с заполнителем. Что-то вроде этого. Я сомневаюсь, что это возможно, но стоит попробовать, так как писать запросы с использованием jquery было бы сложной задачей.

Что-то вроде

<div id = "my-widget">
    <div class = "loader"></div>
</div>

и

    <script>
      $(document).ready(function() {
        $.ajax({
          success: function(data) {
                .html('<?php echo myshortcode; ?>');
            }
            $('#my-widget').html(div);           
        });
    </script>

Код PHP интерпретируется до того, как сервер вернет ответ, а не после него. Так что то, что вы предлагаете, не сработает. Что может сработать, так это сделать запрос AJAX для запроса данных при загрузке страницы и соответственно добавить ответ в body.

fubar 06.09.2018 00:07

Конечно, это возможно. Просто позвольте вашему шорткоду выводить HTML и javascript (если вы написали рабочий код javascript, то есть).

Magnus Eriksson 06.09.2018 00:32
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
52
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Решением вашей проблемы может быть сокращение запроса и запрос только базовых вещей, необходимых для отображения страницы. Другим решением будет фоновый запрос через ajax, поэтому вы должны создать другой сайт в фоновом режиме, который затем заменяет тег тела:

$.get( "ajax.php?page=index", function( data ) {
    $("body").html(data);
});

Да, в этом есть смысл. Зачем мне нужно заменять тег всего тела? Могу ли я не просто сделать то, что вы предлагаете, а только заменить div? Например, $ .get ("ajax-get-function.php", а затем вставить весь php в файл ajax-get-function.php?

Phi Cao 06.09.2018 02:56

Это всего лишь пример. Конечно, вы можете положить его где угодно.

BlackNetworkBit 06.09.2018 09:57

Другие вопросы по теме