Wordpress Headless CMS и Laravel HTML проблема с рендерингом CSS с ElementorPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Wordpress Headless CMS и Laravel HTML проблема с рендерингом CSS с Elementor

Сообщение Anonymous »

Я пытаюсь отобразить ответ, который получаю через WP API, внутри блейд-представления способом Laravel: {!! $text !! Проблема, с которой я столкнулся в данный момент, заключается в том, что ответ содержит внутренний CSS вместе с HTML, как вы можете видеть ниже всего ответа:

Код: Выделить всё

".elementor-8 .elementor-element.elementor-element-0f0546d{--display:flex;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-5556662{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--gap:0px 0px;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-897f945{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--background-transition:0.3s;}.elementor-8 .elementor-element.elementor-element-cfc8ec7{--width:500px;--transition:0.3s;}.elementor-8 .elementor-element.elementor-element-68774d6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--background-transition:0.3s;}@media(min-width:768px){.elementor-8 .elementor-element.elementor-element-897f945{--width:50%;}.elementor-8 .elementor-element.elementor-element-68774d6{--width:50%;}}@media(max-width:1024px){.elementor-8 .elementor-element.elementor-element-cfc8ec7{--width:500px;}}@media(max-width:767px){.elementor-8 .elementor-element.elementor-element-cfc8ec7{--width:500px;}}\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t/*! elementor - v3.21.0 - 08-05-2024 */\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}Teeeeest\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t/*! elementor - v3.21.0 - 08-05-2024 */\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}\t\t\t\t
Lorem ipsum dolor sit amet, consectetur adipiscing elit.  Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.
\t\t\t\t\t\t\n\t\t\t\t\n\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\tAdd Your Heading Text Here\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t/*! elementor - v3.21.0 - 08-05-2024 */\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}\t\t\t\t\t\t\t\t\t\t
[img]\[/img]
\t\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t"
HTML отображается нормально, хотя теги , похоже, не отображаются, в результате внешний интерфейс не отображает так, как он должен отображаться. .
Внутри контроллера у меня есть этот запрос API:

Код: Выделить всё

 $client = new Client();

$res = $client->get('https://cms.test/wp-json/test/v2/posts/8/contentElementor');

$text = json_decode($res->getBody()->getContents());
А внутри файла function.php в WordPress, чтобы получить только содержимое Elementor с внутренним CSS, я создал конечную точку:

Код: Выделить всё

add_action("rest_api_init", function () {

register_rest_route(
"test/v2"
, "/posts/(?P\d+)/contentElementor"
, [
"methods" => "GET",
"callback" => function (\WP_REST_Request $req) {

$contentElementor = "";

if (class_exists("\\Elementor\\Plugin")) {
$post_ID = $req->get_param("id");

$pluginElementor = \Elementor\Plugin::instance();
$contentElementor = $pluginElementor->frontend->get_builder_content($post_ID, $with_css = true);
}

return $contentElementor;

},
]
);

});
Итак, в этом случае возникает два вопроса: есть ли способ также отображать стили, если нет, можем ли мы получить стили отдельно и каким-то образом визуализировать их внутри представления?

Подробнее здесь: https://stackoverflow.com/questions/784 ... -elementor
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»