Перетащите переменную GetOption () в динамически созданный html-файл jQuery

У меня есть страница со следующей разметкой в ​​нижнем колонтитуле темы сайта:

<div id="modalpopup"><div id="inside"></div></div> 

У меня есть переменная в WP db, которую я могу получить через GetOption() которую я хотел бы добавить в этот div#inside на загрузку страницы через jQuery.

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

Мне нужно получить эту переменную из db, отправить ее в функцию jQuery, а затем сгенерировать HTML-рендеринг всех-перед загрузкой страницы.

Идеи?

Solutions Collecting From Web of "Перетащите переменную GetOption () в динамически созданный html-файл jQuery"

Вы все равно будете делать это с помощью AJAX, за исключением того, что вместо того, чтобы запускать какое-либо событие, например «щелчок» или «зависание», или submit , вы должны активировать функцию Javascript на jQuery(document).ready . Это будет выполняться сразу при загрузке страницы. Он не позволяет вам выполнять код до загрузки страницы, поскольку ваш вопрос указан, но вы не можете запускать Javascript до загрузки страницы. Javascript работает на стороне клиента, в браузере. Страница должна загружаться, чтобы это произошло.

Здесь возможны два возможных решения:

Один из решений заключается не в том, чтобы не wp_footer разметку в шаблон и вместо этого использовать действие wp_footer чтобы вставить его вместе с вашими данными:

 function wpa_wp_footer(){ $someval = 'foo'; // get_option results echo '<div id="modalpopup"><div id="inside">' . $someval . '</div></div>'; } add_action( 'wp_footer', 'wpa_wp_footer' ); 

Лично я бы сделал это так, как просто, как это происходит, и сохранил его тему-агностик.

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

Вот ваш стандартный enqueue для добавления javascript к теме, наряду с вызовом localize для добавления дополнительных данных.

 function wpa_scripts() { wp_enqueue_script( 'wpa_script', // script handle get_template_directory_uri() . '/js/script.js', array('jquery'), null, true ); // do your get_option here to set whatever data you're passing $script_data = array( 'some_var' => 'someval' ); wp_localize_script( 'wpa_script', // the script handle enqueued above 'wpa_data', $script_data ); } add_action( 'wp_enqueue_scripts', 'wpa_scripts' ); 

Затем в вашем javascript получите доступ к следующим данным:

 jQuery('#inside').html( wpa_data.some_var );