Wordpress - Divi Theme - функция PHP вызывает изображение, но помещает его не в ту плоскость на странице - PullRequest
0 голосов
/ 03 апреля 2020

Я работаю над сайтом WordPress, созданным на тему Divi. Я пытаюсь настроить динамические сообщения c для списков усыновлений животных.

Я установил плагин Advanced Custom Fields, чтобы я мог хранить определенные c значения для каждого животного на пост. 4 из этих полей являются URL-адресами внешних изображений.

Я понял, что в Divi не было возможности вставить изображение и использовать эти пользовательские поля URL в качестве источника. Сначала я пытался использовать блок Divi Code для запуска кода php, который возвращал бы URL изображения и отображал его в значении HTML img sr c. Но, увы, модуль кодоблока Divi не поддерживает php.

Итак, я создал дочернюю тему и создал функцию PHP, которая делает это и прикрепляет ее к короткому коду. Это работает в том, что он захватывает его изображение и отображает его на странице - но он помещает его в раздел «Основное содержимое» прямо в верхней части страницы, а не внутри модуля, в который я поместил шорткод.

Я предполагаю, что это как-то связано с тем, что php запускается на стороне сервера и когда эта функция выполняется в связи с отображением на странице.

Кто-нибудь знает, как я могу заставить это поместить изображение / запустить функцию php в разделе, в котором я размещаю шорткод?

Вот функция PHP.

//Image via URL using ACF Image fields 
 function get_acf_image1() {
     $imageurl = get_field( "image1" );
     echo <<< EOF
      <p><img src="$imageurl" /></p>
     EOF;

}

add_shortcode('get_image1','get_acf_image1');

Сама страница имеет изображение в верхней части тела страницы в разделе «Основное содержимое» - как показано. Я поместил текст «ЭТО ТАМ, ГДЕ КОРОТКИЙ КОДЕКС», чтобы показать, где в дизайне страниц у меня есть шорткод.

<div id="et-main-area">

<div id="main-content">
   <p><img src="https://dl.airtable.com/.attachmentThumbnails/49dd8cc716d4867302c036e7c89659d9/0042747f" /></p><div class="et-l et-l--body">
		<div class="et_builder_inner_content et_pb_gutters2"><div class="et_pb_section et_pb_section_0_tb_body et_section_regular" >
			
			
			
			
				<div class="et_pb_row et_pb_row_0_tb_body">
			<div class="et_pb_column et_pb_column_1_2 et_pb_column_0_tb_body  et_pb_css_mix_blend_mode_passthrough">
			
			
			<div class="et_pb_module et_pb_text et_pb_text_0_tb_body  et_pb_text_align_left et_pb_bg_layout_light">
			
			
			<div class="et_pb_text_inner">THIS IS WHERE THE SHORTCODE IS<br />
</div>-l--body">

Я также попытался вызвать изображение с помощью API acf javascript в модуле кода Divi - в этом случае кажется, что переменные записи недоступны, поэтому я получаю нет данных обратно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...