Intereting Posts
Изменить поведение «Вставить в сообщение» на основе метаданных приложения Получение ошибки при попытке использовать функцию пользовательских комментариев Перенаправить старые строки запроса на новые URL-адреса SEO Проблема с маржой в меню управления? Плагин для отключения RTE на выбранной странице Добавить поле выбора в медиа-загрузчик, который добавляет класс к изображению Вставка виджетов после установки темы Получение панели «слайд вниз» js, реализованной в WP Формат видеопотока, дополнительный контент нарушает видео встраивание 403 Запрещенная ошибка nginx Как я могу получить $ wpdb для отображения предупреждений MySQL? Как изменить порядок выставления счетов в шаблоне WooCommerce Checkout? Постоянная ссылка CPT с пользовательской таксономией не выполняется Как работает: /index.php?post_type=event&event-date=2011-07-25? Что делать, если это не сработает? ссылка категории не работает для конкретного слизняка, работает для других

Добавить action hook в wp_localize_script

Можно ли добавить крюк действия через wp_localize_script , чтобы я мог wp_localize_script , где я хочу, чтобы крюк запускался в HTML-разметке, созданной в JavaScript?

Итак, что-то вроде:

 $data = array ( 'ng_slicknav' => array( 'ng_slicksearch' => home_url( '/' ), 'ng_slicknav_closedsymbol' => esc_html( $options['ng_slicknav_closedsymbol'] ), 'ng_slicknav_hook' => do_action( 'myplugin_after_hook' ), ), ); // Add filter $data = apply_filters( 'ng_slicknav_slickNavVars', $data ); // Pass PHP variables to jQuery script wp_localize_script( 'slicknav-init', 'slickNavVars', $data ); wp_enqueue_script( 'slicknav-init' ); 

Переменная, которую я пытаюсь добавить, – ng_slicknav_hook , но все, к чему я ng_slicknav_hook , попадает прямо за пределы HTML-разметки в JavaScript; он не соблюдает позицию, в которую я ее положил.

Solutions Collecting From Web of "Добавить action hook в wp_localize_script"

Все работает так, как ожидалось. Проблема в том, что ваш крючок отображает контент на страницу, и вы хотите передать этот вывод переменной javascript, включенной в выход JS. Вам нужно захватить вывод hook в переменную, а затем добавить в $data .

 // buffer output ob_start(); // run hook do_action('myplugin_after_hook'); // get the output buffer into a variable $ng_slicknav_hook = ob_get_clean(); // add to data $data = array( 'ng_slicknav' => array( 'ng_slicksearch' => home_url('/'), 'ng_slicknav_closedsymbol' => esc_html($options[ 'ng_slicknav_closedsymbol' ]), 'ng_slicknav_hook' => $ng_slicknav_hook, ), ); 

Скорее всего, этого нужно будет избежать, но я оставлю это для любого контента, который вы создаете.