Intereting Posts
FlexSlider не будет работать с jQuery WordPress | зависимости Пользовательские цвета для столбцов post, основанных на метатете post создание нового поля в mysql Создайте сайт в стиле панели инструментов (а не панель инструментов WordPress) – есть ли тема? t5-fresh-editor-stylesheets.php разбивает размещение изображений в редакторе WP Beta 3 Можно ли установить динамические идентификаторы JJ NextGen JQuery Carousel? Как сбросить URL страницы WP с удалением переменных Как отобразить пользователя, опубликовавшего ожидающий пост? альтернатива wp_link_pages (), которая показывает только ссылку на последнюю страницу как получить комментарии только к сообщению текущего пользователя? Как включить класс из аддона после того, как один класс существует в главном плагине? Пред. / След. Навигация для текущей страницы? Стриптиз HTML-тегов из результатов поиска Объединение «глубины» с «include» в wp_list_pages () Пользовательский тип сообщения «иерархическая» Справка!

Включая javascript для короткого кода

Я создаю плагин, который позволяет пользователю использовать короткий код. Этот короткий код зависит от кучи javascript, который должен присутствовать после загрузки короткого кода.

У меня возникают проблемы с тем, чтобы решить, когда и где загрузить javascript. Кусочки кода, который вырывает короткий код, являются элементами, которые должны присутствовать, но недоступны для использования jQuery.

Есть ли особый способ загрузки и прикрепления скриптов, на которые основан короткий код?

function build_total_search_method( $atts ) { $shorcode_php_function = include( dirname(__FILE__) . "/includes/total_search.php" ); return $shorcode_php_function; } add_shortcode( 'total_search', 'build_total_search_method' ); 

Кажется, что это работает, но также печатает 1 на странице. Этот метод в порядке?

Solutions Collecting From Web of "Включая javascript для короткого кода"

Используйте wp_enqueue_script в вашем обработчике коротких сообщений, в WordPress> = 3.3 он будет добавлен на страницу в действие wp_footer . Передайте любые данные из PHP на JavaScript через wp_localize_script .

wp_enqueue_script() включает wp_localize_script() – правильное решение. Разбирайте аргументы короткого кода или выставляйте всегда скрипт.

Если у вас много данных, и вы будете использовать это в объекте Json. Некоторые подсказки, которые должны помочь, если дело касается проблем или которые напрямую связаны с решениями через JSON. Функция wp_localize_script() расшифровывает HTML-объекты, что является важным, но не всегда идеальным решением. Функция использует json_encode() , что может привести к проблемам в многомерных массивах в связи с расшифровкой объектов. Альтернативным решением является отправка данных как объекта json, как пример ниже.

 add_action( 'admin_enqueue_scripts', 'fb_print_scripts' ); function fb_print_scripts() { global $current_screen; if ( isset( $current_screen -> id ) && ! in_array( $current_screen -> id, array( 'post', 'page' ) ) ) return; if ( is_plugin_active_for_network( plugin_basename( __FILE__ ) ) ) $options = get_site_option( 'my_options_id' ); else $options = get_option( 'my_options_id' ); if ( ! $options ) return; ?> <script type="text/javascript"> var my_json_object = <?php echo json_encode( $options ); ?>; </script> <?php }